ПРОЕКТЫ 


  АРХИВ 


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: WISRp и UAM средствами nginx


  • To: <nginx-ru@xxxxxxxxx>
  • Subject: RE: WISRp и UAM средствами nginx
  • From: Лапочкин Константин <kostenl@xxxxxxxxx>
  • Date: Wed, 23 Oct 2013 16:07:21 +0600
  • Content-language: ru
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:references:in-reply-to:subject:date:message-id:mime-version :content-type:content-transfer-encoding:thread-index :content-language; bh=/ICJyg1w2cfPtY0UvJZSKNI+XXlyyJ95GjFKEwZslaA=; b=JQ+uMs6oPTHs8rLEQ10GPwVvBLqGK3xvJUkdcPl4wkNq3/humc2/eCrqyhZ2NiuGJ2 MTYjq4HRCHZ1FNjSqWBYoZJQo5t1TWQgh2ZBAbKU9s6c0FFUltUxqP1/J52LgN0yFjJZ SjrtQPs3eePQF9dRFlmbcxT+wqNLWyo1qRTw1rekIB7Fax0IARuVntdwrtqbbQjj4X9H RuzfDzZZTBsgW0SDFZDDdQs7Fflvsq5swAzDi0eNsi2ab3/1vug/umW+8/1WGds9Us8E a8p4l0Izf3vNXTJ4MtF8+Bf5t+84xF0FAEYiI62KjYIV8qbahPrLFa6XcTJnicJvh5NY IcEQ==
  • In-reply-to: <20131018132257.GL2144@mdounin.ru>
  • References: <002701cecbe4$7248d1c0$56da7540$@gmail.com> <20131018132257.GL2144@mdounin.ru>
  • Thread-index: AQIaFL0XRWFQP9VerEoRD85QaYia1wFFwffkmWFWy+A=

Ссылку, которую вы прислали посмотрел, там скорее клиентская часть. Из дампа 
микротика не увидел ничего особенного при редиректе. Вот что там происходит:
Вначале запрос ссылки и редирект
GET /library/test/success.html HTTP/1.0

Host: www.apple.com

User-Agent: CaptiveNetworkSupport-200.1 wispr

Connection: close



HTTP/1.1 302 Hotspot login required

Cache-Control: no-cache

Content-Length: 135

Content-Type: text/html

Date: Fri, 11 Oct 2013 06:37:38 GMT

Expires: 0

Location: 
http://10.0.2.1/login?dst=http%3A%2F%2Fwww.apple.com%2Flibrary%2Ftest%2Fsuccess.html



<html>
<head><title>Error 302: Hotspot login required</title></head>
<body>
<h1>Error 302: Hotspot login required</h1>
</body>
</html>
Потом отдаётся страница авторизации
GET /login?dst=http%3A%2F%2Fwww.apple.com%2Flibrary%2Ftest%2Fsuccess.html 
HTTP/1.0

Host: 10.0.2.1

User-Agent: CaptiveNetworkSupport-200.1 wispr

Connection: close



HTTP/1.0 200 OK

Cache-Control: no-cache

Connection: close

Content-Length: 3223

Content-Type: text/html

Date: Fri, 11 Oct 2013 06:37:38 GMT

Expires: 0



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html>
<head>
<title>internet hotspot > login</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="-1" />
<style type="text/css">
body {color: #737373; font-size: 10px; font-family: verdana;}

textarea,input,select {
background-color: #FDFBFB;
border: 1px solid #BBBBBB;
padding: 2px;
margin: 1px;
font-size: 14px;
color: #808080;
}

a, a:link, a:visited, a:active { color: #AAAAAA; text-decoration: none; 
font-size: 10px; }
a:hover { border-bottom: 1px dotted #c1c1c1; color: #AAAAAA; }
img {border: none;}
td { font-size: 14px; color: #7A7A7A; }
</style>

</head>

<body>

.<form name="sendin" action="http://10.0.2.1/login"; method="post">
..<input type="hidden" name="username" />
..<input type="hidden" name="password" />
..<input type="hidden" name="dst" 
value="http://www.apple.com/library/test/success.html"; />
..<input type="hidden" name="popup" value="true" />
.</form>
.
.<script type="text/javascript" src="/md5.js"></script>
.<script type="text/javascript">
.<!--
.    function doLogin() {
..document.sendin.username.value = document.login.username.value;
..document.sendin.password.value = hexMD5('\234' + 
document.login.password.value + 
'\127\323\323\064\231\042\112\004\377\300\213\003\116\227\123\000');
..document.sendin.submit();
..return false;
.    }
.//-->
.</script>


<div align="center">
<a 
href="http://10.0.2.1/login?target=lv&amp;dst=http%3A%2F%2Fwww.apple.com%2Flibrary%2Ftest%2Fsuccess.html";>Latviski</a>
</div>

<table width="100%" style="margin-top: 10%;">
.<tr>
.<td align="center" valign="middle">
..<div class="notice" style="color: #c1c1c1; font-size: 9px">Please log on to 
use the internet hotspot service<br /></div><br />
..<table width="280" height="280" style="border: 1px solid #cccccc; padding: 
0px;" cellpadding="0" cellspacing="0">
...<tr>
....<td align="center" valign="bottom" height="175" colspan="2">
.....<form name="login" action="http://10.0.2.1/login"; method="post"
.....     onSubmit="return doLogin()" >
......<input type="hidden" name="dst" 
value="http://www.apple.com/library/test/success.html"; />
......<input type="hidden" name="popup" value="true" />
......
.......<table width="100" style="background-color: #ffffff">
........<tr><td align="right">login</td>
..........<td><input style="width: 80px" name="username" type="text" 
value=""/></td>
........</tr>
........<tr><td align="right">password</td>
..........<td><input style="width: 80px" name="password" type="password"/></td>
........</tr>
........<tr><td>&nbsp;</td>
..........<td><input type="submit" value="OK" /></td>
........</tr>
.......</table>
.....</form>
....</td>
...</tr>
...<tr><td align="center"><a href="http://www.mikrotik.com"; target="_blank" 
style="border: none;"><img src="img/logobottom.png" alt="mikrotik" 
/></a></td></tr>
..</table>
.
.<br /><div style="color: #c1c1c1; font-size: 9px">Powered by MikroTik 
RouterOS</div>
.
.</td>
.</tr>
</table>

<script type="text/javascript">
<!--
  document.login.username.focus();
//-->
</script>
</body>
</html>

-----Original Message-----
From: nginx-ru-bounces@xxxxxxxxx [mailto:nginx-ru-bounces@xxxxxxxxx] On Behalf 
Of Maxim Dounin
Sent: Friday, October 18, 2013 7:23 PM
To: nginx-ru@xxxxxxxxx
Subject: Re: WISRp и UAM средствами nginx

Hello!

On Fri, Oct 18, 2013 at 03:28:46PM +0600, Лапочкин Константин wrote:

> Добрый день. Используем Nginx для редиректа на captive-портав с наших 
> wifi-hotspot?ов. Пользователь, подключившись к не защищённой сети при 
> любом обращении в интернет по протоколам http, https перенаправляется 
> на наш портал, где проходит авторизацию (либо получает гостевой 
> доступ). Возникла задача:
> что бы на клиентских устройствах с iOS (iPhone, iPad) при подключении 
> к нашей сети всплывало pop-UP окно с нашим порталом.
> Работает это через протокол wisrp, окно называется uam(unified 
> authorization method). Суть метода в том, что при подключении к сети 
> ios запрашивает ссылку с ?User-Agent:
> CaptiveNetworkSupport-200.1 wispr?. Если он получает на это 302, то, 
> теоретически, должно возникнуть окошко со страницей, на которую 
> перенаправляет 302-й код. Однако, это в nginx не работает. Проверяли, 
> что работает на microtik. Cнимали дамп пакетов c микротика, увидели 
> следующее:

[...]

> Что сделал: пробовал через nc слать заголовки из дампа микротика ? 
> работает, окно появляется. Пересобрал ngnix, что бы заменить
> 302 Moved Temporarily на 302 Hotspot login required ? не помогло.

Если я правильно понимаю, важно не то, как делается перенаправление, а то, что 
возвращается клиенту после перенаправления.

Там должна быть XML'ка установленного спецификацией WISPr вида, пример можно 
посмотреть, например, тут:

http://hotspot-connect.sourceforge.net/

--
Maxim Dounin
http://nginx.org/en/donation.html

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


 




Copyright © Lexa Software, 1996-2009.