Кабинет клиента на этом сервере для просмотра: включается в настройках, отдельный порт (:8098), куки без Secure только для этого слушателя

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4YVo4UMopqT5DzicqpPjL
This commit is contained in:
zuevav
2026-09-18 14:50:19 +03:00
parent e3e85fdf09
commit 3760c1f1dd
6 changed files with 180 additions and 2 deletions
+9 -2
View File
@@ -46,8 +46,15 @@ func localRequest(r *http.Request) bool {
return ip != nil && ip.IsLoopback()
}
// secureCookies — ставить ли признак Secure на куки этого запроса.
func secureCookies(r *http.Request) bool { return httpsRequest(r) || !localRequest(r) }
// secureCookies — ставить ли признак Secure на куки этого запроса. Заголовок X-BJ-Preview
// ставит само ядро, когда кабинет запущен на его порту для просмотра по http из локальной
// сети; в конвертах ретрансляторов такой заголовок отбрасывается.
func secureCookies(r *http.Request) bool {
if r.Header.Get("X-BJ-Preview") == "1" && !httpsRequest(r) {
return false
}
return httpsRequest(r) || !localRequest(r)
}
// clientIP — адрес посетителя кабинета (за nginx — из X-Real-IP / X-Forwarded-For).
func clientIP(r *http.Request) string {