Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Access-Control-Allow-Origin
13.10.2011 21:38, anon пишет:
Всем привет.
В ходе работы возникло несколько
вопросов по этому заголовку.
1)Если добавляем:
add_header Access-Control-Allow-Origin http://127.0.0.1:8055;
add_header Access-Control-Allow-Origin https://mail.google.com;
add_header Access-Control-Allow-Origin https://docs.google.com;
То не сервер отдает пустой ответ не
смотря на правильно передающийся Origin.
Если выставить add_header Access-Control-Allow-Origin *;
получаем ответ.
2) Чем чревато все же выставление
Access-Control-Allow-Origin * на весь сайт? В целом
понятно, что 6 соединений из браузера и
все такое, но какую это может нести в
себе реальную угрозу?
Спасибо.
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,216660,216660#msg-216660
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Насколько я помню, в данный момент ни один браузер не поддерживает
наличие нескольких заголовков Access-Control-Allow-Origin (а возможно
это и задизайнированное поведение).
"Чреватость" звездочки для меня самого остается загадкой, в голову
приходит только то, что злоумышленник может с любого сайта не только
делать GET/POST запросы, но и получать на них ответ. Но при этом из
браузера нет доступа к большинству заголовков ответа
http://www.w3.org/TR/cors/#handling-a-response-to-a-cross-origin-re (в
частности, к кукам), так что лично я не вижу никакой потенциальной
опасности от звездочки.
Может быть кто-то поправит меня и опасность в звездочке таки есть...
PS: возможно получится проверять заголовок Referer в конфиге (например,
с помощью серии директив if) и выставлять нужное значение как-то так:
set $origin "http://mysite.ru";
if ($http_referer ~* ^http://trusted_domain1\.ru) {
set $origin "http://trusted_domain1.ru";
}
if ($http_referer ~* ^http://trusted_domain2\.ru) {
set $origin "http://trusted_domain2.ru";
}
add_header Access-Control-Allow-Origin $origin;
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|