Gena Makhomed Wrote: ------------------------------------------------------- > возможно имеет смысл дефолтовые настройки сделать такими, > чтобы они были безопасными по-умолчанию для всех пользователей? > т.е. $host вместо $proxy_host ?
Поддержу данную мысль, это добавило бы безопасности дефолтного конфига Nginx. Вот наглядный пример: fastcgi_param HTTP_HOST1 $http_host; fastcgi_param HTTP_HOST2 $host; fastcgi_param HTTP_HOST3 $server_name; Делаем, запрос GET http://site3.dev/ HTTP/1.1 Host:~%#$^&*()<>?@\!."'{}[]=+| На выходе получим _SERVER["HTTP_HOST1"]: ~%#$^&*()<>?@\!."'{}[]=+| _SERVER["HTTP_HOST2"]: site3.dev _SERVER["HTTP_HOST3"]: site2.dev Кому интересно почитать, подробней вот ссылка. http://habrahabr.ru/post/166855/ Как видите, корректное значения имеют только переменные $host и $server_name, все что основывается на $http_host имеет потенциал уязвимость, если бекенд доверяет этой переменой, лично я знаю несколько популярных РНР фрейморков которые используют эту переменную без проверки и без экранирования в SQL запросах. Для вирт хостов $server_name нельзя использовать как HTTP_HOST, вот переменную $host можно и считаю нужно использовать как HTTP_HOST. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,246086,246198#msg-246198 _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
