Re: proxy cache key и fastcgi cache key
S.A.N
nginx-forum at nginx.us
Thu Jan 9 19:03:32 UTC 2014
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