Есть ли способ запретить ВСЕМ прокси-серверам доступ к веб-сайту с использованием некоторой конфигурации Apache?

Я использую Apache2 с Ubuntu 16.04 и PHP7.0. Я попытался использовать настройку .htaccess, но, похоже, это не сработало, т.е. не помешало анонимным прокси-серверам посещать веб-сайт.

Я пробовал это решение http://www.phpgenious.com/2009/03/block-proxy-servers-using-htaccess/

RewriteEngine on
RewriteCond %{HTTP:VIA} !^$ [OR]
RewriteCond %{HTTP:FORWARDED} !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA} !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR} !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP} !^$
RewriteRule ^(.*)$ – [F]

Другой вариант - использовать BlockScript https: // www.blocked.com/, что кажется довольно дорогим.

-5
задан 6 November 2017 в 10:03
2 ответа

Да, запись «пожалуйста, запретите все прокси-серверы» в .htacces , естественно, не сработает .... Или ты написал что-то еще?

В любом случае это невозможно. Прокси-сервер ничем не отличается от обычного веб-браузера, и вы не можете надежно отделить прокси от «обычных» клиентов.

3
ответ дан 5 December 2019 в 22:16

Я нашел решение, которое блокирует анонимные прокси. Моя целевая аудитория ограничена страной. Итак, я использовал это решение https://coderwall.com/p/dqqz5q/apache-block-specific-countries-using-mod_geoip

и использовал Geoip, чтобы разрешить доступ только для определенной страны на мой веб-сайт. Это работает, потому что Geoip для анонимных IP-адресов отображается как A1 и т. Д. ( https://dev.maxmind.com/geoip/legacy/codes/iso3166/ )

Итак, в случае Ubuntu, в 000-default virtualhost

<Directory /var/www/>
    ....
    ....
    # Only allow specific countries
    GeoIPEnable On
    SetEnvIf GEOIP_COUNTRY_CODE GB AllowCountry
    Deny from all
    Allow from env=AllowCountry
</Directory>

Здесь разрешена только страна GB, то есть Великобритания. Я тестировал это с помощью многих анонимных прокси-сайтов (даже расположенных в целевой стране), и веб-сайт отвечает 403. Доступ без прокси-сервера работает нормально.

1
ответ дан 5 December 2019 в 22:16

Теги

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