Есть ли у Winscp локальный файл на моем компьютере, на который я могу ссылаться с моего веб-сервера?

После изучения и проведения некоторых тестов стало очевидно, что Apple CNA является собственным веб-браузером; очевидно, что если исключение не будет сделано должным образом, все последующие запросы снова будут иметь один и тот же пользовательский агент. Таким образом, он запустит перенаправление процедуры/портала с нуля, что приведет к зацикливанию перенаправления.

Таким образом, согласно правилу Apple, мы больше не будем перенаправлять , если конечным хостом является сервер авторизованного портала.

# apple
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^CaptiveNetworkSupport(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^192.168.2.1$
RewriteRule ^(.*)$ http://192.168.2.1/captive/portal.html [L,R=302]

# android
RedirectMatch 302 /generate_204 http://192.168.2.1/captive/portal.html

# windows
RedirectMatch 302 /ncsi.txt http://192.168.2.1/captive/portal.html

Мы также добавляем сюда общее правило перехвата -всех, которое, если ни одно из предыдущих условий не выполняется или мы имеем дело с ОС, для которой у нас нет правила, будет перенаправлено на портал если еще не там(например не посещать закрытый каталог ).

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/captive/ [NC]
RewriteRule ^(.*)$ http://192.168.2.1/captive/portal.html [L]

Очевидно, я хотел бы подчеркнуть, что при такой конфигурации все файлы, относящиеся к порталу авторизации, должны находиться в каталоге /captive.

См. также Обнаружение авторизованного портала, реализация всплывающих окон?

-1
22.08.2018, 11:52
1 ответ

Сначала вам нужно ответить на вопрос «Хотите ли вы, чтобы ваш веб-сервер имел доступ к вашим локальным файлам?», потому что это именно то, о чем вы спрашиваете. Вероятно, нет. Если вы все еще хотите это сделать, по крайней мере, вы должны настроить VPN между веб-сервером и вашим ПК, в противном случае потенциально все в Интернете будут иметь доступ к вашим файлам. Через VPN вы можете смонтировать общий ресурс на своем ПК и обратиться к этому файлу с помощью символической ссылки на веб-сервере.

Я бы рекомендовал просто создать пакетный файл, который использует rsync для копирования вашего файла с вашего ПК на веб-сервер и с веб-сервера на ваш ПК, оба раза с возможностью замены файла только в том случае, если источник новее. Одна из операций распознает, что цель более новая, и ничего не делает, другая операция копирует более новый файл, и вы получаете самую новую версию с обеих сторон.

0
28.01.2020, 05:12

Теги

Похожие вопросы