ПРОЕКТЫ 


  АРХИВ 


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]

Кроссдоменная авторизация средставми nginx


  • To: nginx-ru@xxxxxxxxx
  • Subject: Кроссдоменная авторизация средставми nginx
  • From: psixozzz@xxxxxxxxx
  • Date: Sun, 5 May 2013 20:22:57 +0600
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:date:from:x-priority:message-id:to:subject:mime-version :content-type:content-transfer-encoding; bh=t3fZmnFtmjBIOqzAGhhestoXMnlClrCTPWELsA6zYMM=; b=OTPNeqZbP0BVcb5QBEaD+W0T0wLx8lZ6NMJ002LhIyzJgWgKRI9sQndw6m78X6synE ggo3uk7rXAoWKBueC5V/mSstOUqBXOiPTf2X3FDiawrSVvZoFKOYujQleQb0De6U8dIC 9vxAj6XR12eBNMJ5543VpLRq/4pJRhHk5PzMnv6a24/NQkR2c6fAtiw+JixMiqmi9eq4 46cJoEy4pCrA3UJkilm3oPGmYfZlERNvtwwzK3ZIhPH183VKkG2D56j4zeTPQEvuLWe+ JSrL4mSNKO6q6eXuLKMfL2LKJTuuFZ9uoRoKTsEYClGYWP0I3gYE+c5Z6/wCBBoQRK21 xWvQ==

Здравствуйте, Nginx-ru.

Дано:     домен     с   большим   количеством  поддоменов.  Задача:
открыть  доступ  только для ограниченного круга лиц, включая мобильные
клиенты.   Крайне   желательно   ограничиться   средствами  nginx,  не
вмешиваясь   в скрипты сайта. Авторизация нужна только для того, чтобы
не могли зайти люди "с улицы". Т.е. вполне подойдет что-то слабенькое,
как,  например,  факт  наличия  куки  у  клиента  и т.п. Никак не могу
придумать, как это реализовать.
Basic-авторизация    не   подходит,   т.к.   она   не   кроссдоменная.
Рассматривал  вариант  когда сайт не пускает никого, у кого
нет  определенной куки, а получить ее можно, зайдя на определенный урл
внутри   сайта.  Возникли  проблемы  с  внесением  изменений в текущую
конфигурацию nginx:

 if ($cookie_edws != '1033'){
      return 444;
 }

 location = /auth_url {
   add_header Set-Cookie "lcid=1033;Domain=.domain.com;Path=/;Max-Age=31536000";
   rewrite ^(.*)$ domain.com persistent;
 }

 if (!-e $request_filename) {
      rewrite ^(.*)$ /index.php break;
 }

Таким  образом, если физически auth_url не существует, то управление в
location  = /auth_url не попадет никогда, а всегда будет передано в if
(-e  $request_filename).  Даже  если  вмешаться в структуру сайта (что
неприемлимо)  и  создать  файл  auth_url,  то в location управление не
попадет  из-за  существования  if  ($cookie_edws != '1033'). Замкнутый
круг какой-то.

Может многоуважаемый All подскажет как быть?

-- 
С уважением,
 Psixozzz                          mailto:psixozzz@xxxxxxxxx

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


 




Copyright © Lexa Software, 1996-2009.