ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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



On Fri, Oct 14, 2011 at 08:51:22AM +0400, Dmitry Dedukhin wrote:
> 
> 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;

Не надо if'ы:

map  $http_referer                   $origin {
     default                         http://mysite.ru;
     ~*^http://trusted_domain1\.ru   http://trusted_domain1.ru;
     ~*^http://trusted_domain2\.ru   http://trusted_domain2.ru;
};


-- 
Igor Sysoev

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.