htaccess блокирует и разрешает сайты с одним и тем же доменным именем - PullRequest
0 голосов
/ 14 июня 2019

У меня есть служба, предлагающая css-файлы, сценарии и изображения для стороннего веб-сайта www.myfantasyleague.com, представляющего собой футбольный хостинг для фэнтези-футбола, и в последнее время они претерпели некоторые изменения за последние пару лет.

Я пытаюсь заблокировать определенные веб-сайты на своих серверах, которые используют мою работу обманным путем, и в то же время разрешает людям, которые приобретают мою работу в том же домене, иметь возможность использовать мою работу и не блокировать HTAфайл.Как только вы создаете футбольный сайт, MFL присваивает ему постоянный номер сервера и 5-значный код, который никогда не меняется с каждым годом и остается неизменным.Вот ссылка на поиск MFL по слову «футбол», и вы можете увидеть, что существует много сайтов, и если вы нажмете на несколько из них, все они будут иметь разные 5-значные идентификаторы, а некоторые - разные идентификаторы сервера.

СайтЯ хочу начать с блокировки, будет URL этого сайта ниже, и домен MFL теперь может иметь http и https, поэтому было бы неплохо получить оба протокола.

ПРИМЕР САЙТА К БЛОКУ

https://www67.myfantasyleague.com/2019/home/63928#0

ПРИМЕР САЙТА ДЛЯ РАЗРЕШЕНИЯ

http://www51.myfantasyleague.com/2019/home/46087#0

В доменах myfantasyleague каждому сайту присваивается свой собственный 5-значный уникальный код в концеurl, а также многие из них находятся на разных идентификаторах сервера, таких как www67 и www51, и вы видите эти две ссылки, одна из них https, а другая http.

В прошлом я использовал этот код ниже, и онбудет работать и сегодня, однако, как только я добавлю его в свой корневой файл доступа, он удалит оба сайта, и у меня его не будет, так как я хочу иметь возможность контролировать, какие сайты заблокированы номером сервера и 5-значным числомID лигиесли возможно.

КОД, КОТОРЫЙ Я ПОПЫТАЛ, ЧТО РАБОТАЛ, НО УБИВАЕТ ВСЕ САЙТЫ С ЭТОГО ДОМЕННОГО ИМЕНИ.

RewriteEngine On
RewriteCond %{HTTP_REFERER} https?://(www\.)?www(67).myfantasyleague.com.+(63928) [NC,OR]
RewriteRule .*\.(jpe?g|gif|bmp|png|js|css)$ [L]

Может быть, я могу превратить этот URL-адрес в заблокированный в фактический IP-адрес и попробовать заблокироватьIP?

Я не знаю, что еще попробовать, и это даже невозможно, я не знаю.Я ценю любые отзывы.Спасибо

1 Ответ

0 голосов
/ 14 июня 2019

Хотя шаблон, который вы опубликовали, безусловно, можно улучшить, нет никаких причин, по которым он должен «блокировать» всех рефереров с этого хоста, , если эти сайты вообще отправляют заголовок реферера ... Имейте в виду, что такой заголовок является необязательным и может быть легко изменен, так что любой может обойти ограничения, которые вы устанавливаете на основе этого заголовка. С другой стороны, блокировка IP означает, что вы блокируете все службы с этого хоста, что, как я понимаю, не то, что вам нужно. Числовое добавление к префиксу "www" указывает на то, что оператор сервиса использует шардинг для балансировки нагрузки на запрос, старый и устаревший подход. Вы можете ожидать, что это изменится в любое время, либо для отдельных сайтов, либо в целом, поэтому лучше не полагаться на это. Вас интересует только числовой идентификатор в конце ссылающегося URL.

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

RewriteEngine On
RewriteCond %{HTTP_REFERER} !/63928$ [OR]
RewriteCond %{HTTP_REFERER} !/63927$ [OR]
RewriteCond %{HTTP_REFERER} !/63926$
RewriteRule ^ [F,NC]

Это приведет к активному занесению в белый список определенных сайтов с указанием их числового идентификатора и блокированию всех других запросов путем отправки заголовка «Запрещено».

Обратите внимание, что я на самом деле не тестировал приведенный выше код, он может содержать некоторые незначительные ошибки, которые вам, возможно, придется исправить. Для таких вещей важно иметь доступ к файлу журнала ошибок http-серверов. Не уверен, что у вас это есть в вашей ситуации ...

...