Nano Hash - криптовалюты, майнинг, программирование

htaccess блокировать и разрешать сайты с одного доменного имени

Я запускаю сервис, где я предлагаю файлы 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, и вы видите эти 2 ссылки: одна https и одна http .

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

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

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-адрес?

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

14.06.2019

Ответы:


1

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

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

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

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

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

14.06.2019
  • Я попробовал этот код для тестирования, но, к сожалению, он блокировал 5-значный код, который я просил также внести в белый список, и это, вероятно, не было бы хорошо для меня, если бы он работал так, как если бы у меня было более 1000 сайтов, которые я не хочу блокировать, у меня никоим образом не есть все их 5-значные идентификаторы, чтобы разрешить им доступ. Мне было бы намного проще контролировать те, к которым я не хочу разрешать доступ, поскольку это небольшая группа сайтов. Спасибо 14.06.2019
  • Затем просто превратите белый список в черный, убрав восклицательный знак в конце условий. Почему у вас что-то не получается, это другое дело, я подозреваю, что вы получаете внутреннюю ошибку сервера. Вы действительно уверены, что модуль перезаписи загружается, активируется и предоставляется вам вообще в этой среде? 14.06.2019
  • Не на 100 % уверен в отсылке к заголовку, но в прошлые годы он работал.......... .....Когда вы говорите удалить восклицательный знак, см. код ниже, как я это делал, и если я у меня не полностью есть весь код, он по-прежнему блокирует все сайты из этого домена, когда я пытаюсь его протестировать. RewriteEngine On RewriteCond %{HTTP_REFERER} /46087$ [ИЛИ] RewriteCond %{HTTP_REFERER} !/63928$ [ИЛИ] RewriteCond %{HTTP_REFERER} !/63926$ RewriteRule ^ [F,NC] 14.06.2019
  • Похоже, вы вообще игнорируете мои намеки на проблемы с использованием переписывания. Итак, вы действительно уверены, что модуль перезаписи доступен? Тогда нужно копнуть глубже. Что блок на самом деле означает для вас? Что именно? Какой результат вы получаете от своей службы, когда пытаетесь получить доступ к URL-адресам? 14.06.2019
  • Заблокировать означает запретить веб-сайту, который я добавляю с 5-значным кодом, давать хотлинки на мой сайт, в то время как всем остальным разрешено прохождение… Никто не игнорирует вас, если вы можете опубликовать код, который работает, я воспользуюсь им и посмотрю что он делает.... если вы не можете, пожалуйста, не беспокойтесь о дальнейшей помощи, поскольку я прошу о помощи, что означает, что я недостаточно знаю, чтобы сделать это самостоятельно...... Когда я пытаюсь получить доступ к URL-адресам после того, как я добавил HTA каждый раз сайты загружаются нормально, но каждый из них блокирует все css, png, скрипты из моего домена, и мы хотим, чтобы блокировался только один, а другой прошел, поскольку в hta нет блокировки ... 15.06.2019
  • Вы не поняли мой вопрос... Конечно, я понял, что вы имеете в виду под блокировкой. Я спросил, как выглядит этот блок для вас. Потому что это может пролить свет на то, что происходит не так, почему блокируется все, а не только те сайты, которые вы хотите заблокировать. Может произойти внутренняя ошибка сервера, которая действительно приведет к тому, что запрос не будет обслуживаться. Или сервер может отправить явный запрещенный заголовок. Но это разные вещи, вам придется выяснить, что происходит на самом деле. Мы не можем сделать это за вас, доступ есть только у вас. 15.06.2019
  • Я неоднократно спрашивал о том, доступен ли вам вообще модуль перезаписи, вы на это не ответили. Вы знаете, если это так? Как? 15.06.2019
  • Я предлагаю вам начать отладку, чтобы мы могли приблизиться к причине проблемы. Когда правила установлены и все запросы не выполняются, откройте консоль браузера (обычно F12), выберите там вкладку сети, выполните полную перезагрузку страницы и наблюдайте за отдельными запросами. Выберите один из них, ориентированный на вашу службу, и узнайте, почему он не работает. Что ты видишь? Какой код возврата находится в диапазоне 500 или 400? Какое сообщение об ошибке указано? Это те вещи, о которых я спрашивал. 15.06.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..