Jump to content

Recommended Posts

Posted

Пытаюсь сделать следующее на openwrt есть сеть допустим 192.168.2.1 br-lan нужно абонам показывать страницу оплаты при заходе на http/https пытался делать через nodogsplash но не могу понять как сделать то что я хочу. Отрицательный баланс показываем абону платёжный шлюз pay.example.ru он там нажимает кнопку пополнить и идёт на юмани. Набросал примерный скрипт на bash подскажите в каком направлении копать
 

response=$(curl -s "https://pay.example.ru/api/check_payment/1")

status=$(echo "$response" | jq -r '.status')
if [ "$status" == "paid" ]; then
    service nodogsplash stop
else
    echo "unpaid"
fiё

 

Posted

Сесть в любую кафешку с хотспотом, запустить tcpdump и посмотреть, как сделано у них. Давно не встречал, чтобы телефон жаловался на сертификат в таких wifi с редиректом на страницу авторизации.

Posted

Это разные вещи.

Мобильные устройства при подключении к беспроводной сети обращаются на специальный ресурс по протоколу HTTP. Адреса уже не помню, у Google/Apple/Microsoft у каждого свой адрес.

Там трафик без проблем перехватывается и заменяется — а мобильные устройства, получив отличное от эталона содержание, понимают что они подключены к хотспоту и требуется авторизация.

На ПК это не сработает.

Posted

Да, в Windows 11 такое тоже добавили (насчет Windows 10 не знаю).

Но все равно, это решения для хотспотов.

Рассчитывать на такое для страницы при отрицательном балансе я бы не стал.

У нас такое есть (при отрицательном балансе редирект на личный кабинет), но статистика показывает, что сейчас таких абонентов мало, это в основном мобильные устройства абонентов.

Десктопов с редиректом очень мало, также как других устройств (смарт-ТВ, игровые приставки и т.п.).

Posted
10 часов назад, alibek сказал:

Десктопов с редиректом очень мало, также как других устройств (смарт-ТВ, игровые приставки и т.п.).

Потому что надо делать не редирект, а перенаправлять на веб прокси, который выдает свою страничку. И уже с этой странички, когда абонент нажмет некую кнопку или ссылку, перенаправлять в ЛК или на сайт платежной системы.

 

Сразу делать перенаправление на какой-то другой сайт плохая затея.

 

И да, в виндовс 7 при таком перенаправлении через хотспот появляется сообщение вверху браузера, что "вы должны выполнить вход что бы работать в сети". Нажали и попали на страничку.

 

Перенаправлять на https соединениях умеет DPI, например карбон редуктор. Но тут есть нюанс - он перенаправляет по своему фильтру, который содержит IP адреса абонентов, не всегда они оттуда быстро могут удаляться, и если вдруг что-то пойдет не так, абонент не сможет работать в интернете.

Posted

Перенаправлять = подменять ответ.

С HTTPS не работает, а с HTTP не имеет смысла, потому что там у браузеров и редирект нормально работает, а без браузера (в смарт-ТВ) информацию об отрицательном балансе читать некому.

Posted

Ну что вы как маленькие, собрались в пивнушке и обсуждаете сплетни.

 

WiFi hot spot authorization / captive portal это уже давно стандарт который втянула в себя венда, андройд и все (оба) браузеры.

Суть там предельно проста: на эвент о смене сетевого соединения или просто время от времени браузер или сервис в ОС пытается резолвить через DNS то что он 100% знает заранее во что должно отрезолвится. Если прилетает другой адрес - значит юзеру показыают что то.

Дальше оно пытается по http скачать то что оно знает как будет выглядеть.

Если там редирект или херь какая то другая - оно опять юзеру чото предлагает/показывает.

 

Вот сверхсеркретное описание механизма как оно в венде:

https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/troubleshoot-ncsi-guidance

https://learn.microsoft.com/en-us/windows-server/networking/ncsi/ncsi-frequently-asked-questions

 

Я дома уже лет 10+ как

засунул в unbound:

# Windows Internet emulator: Network Connectivity Status Indicator (NCSI)
# https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-7/ee126135(v=ws.10)
local-data: "dns.msftncsi.com			30	IN A	131.107.255.255"
local-data: "dns.msftncsi.com			3600	IN AAAA	fd3e:4f5a:5b81:0:0:0:0:1"
local-data: "www.msftncsi.com			30	IN A	172.16.0.254"
local-data: "ipv6.msftncsi.com			30	IN AAAA	2001:470:1f15:8e:0:0:0:1"

и в nginx:

	# www.msftncsi.com
	location ^~ /ncsi.txt {
		more_set_headers 'Content-Type: text/plain';
		add_header	Cache-Control 'max-age=30, must-revalidate';
		return		200 'Microsoft NCSI';
	}

и судя по секретной документации начиная с вин10 адреса немного другие.

 

Вот ещё более секретная инфа по мазилле:

https://support.mozilla.org/en-US/kb/captive-portal

https://firefox-source-docs.mozilla.org/networking/captive_portals.html

 

А вот сборник всего сразу, как оглавление по теме, чтобы знать что в секретный поисковик гуглаг вбивать:

https://en.wikipedia.org/wiki/Captive_portal

https://gist.github.com/zhangyoufu/0ad9b3b9cd3a144714f70c6610e43962

https://community.fortinet.com/t5/FortiAP/Troubleshooting-Tip-Redirecting-to-a-captive-portal-gets-a/ta-p/191375

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.