Как я могу заблокировать определенные IP-адреса в blogger с помощью скрипта?

#javascript #html #blogger #script

Вопрос:

Здравствуйте, я уже несколько недель ищу код, который позволяет мне блокировать IP-адрес в blogger. Я пробовал эти строки, но перенаправление не работает для меня.

введите описание изображения здесь

Комментарии:

1. Использование JavaScript для блокировки IP-адресов будет в значительной степени неэффективным, так как эту проверку можно обойти, просто отключив JavaScript или, что более элегантно, заблокировав DNS домена, в котором хранится скрипт. Не могли бы вы подробнее рассказать, зачем вам нужна эта функциональность? Если на самом деле это не проблема XY, вам понадобится какая-то фильтрация на стороне сервера. Даже в этом случае блоки на основе IP по-прежнему в значительной степени неэффективны из-за тривиальности освобождения и продления блокировки DHCP на определенном IP-адресе или использования прокси/VPN.

2. Это не для клиента, это для университетского проекта, где я должен заблокировать определенный ip-адрес для веб-сайта блоггера. Не имеет значения, удаляют ли они JavaScript или используют VPN, это только для блокировки ip-адреса, и для меня работает скрипт. Я надеюсь, что ты сможешь помочь мне, друг.

3. Ну, во-первых, что вы пробовали, и в чем, по-видимому, проблема. какое сообщение об ошибке вы получаете в консоли браузера? кстати: не публикуйте изображения кода публикуйте код, в Stackoverflow есть отличная опция для подсветки синтаксиса.

4. кстати.: может быть, это не работает, потому что введенный IP-адрес не является допустимым IPv4, так как ни одно число не может быть больше 255 , а у вас есть 333 .

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

Ответ №1:

Поскольку вы знаете, что это не экономия, и дизен предлагает любой тип реальной защиты, вот быстрое рабочее решение:

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

  1. Получите IP-адрес с помощью вызова выборки javascript (может не работать в более старом браузере)
    Подробную fetch информацию вы можете найти здесь https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
    Может не работать из-за настройки cors (но если это работает здесь, это может работать на вашем сервере). подробная информация о cors здесь: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
  2. Получите IP-адрес из ответа
  3. Проверьте, является ли IP-адрес недействительным
  4. Перенаправлять
 <script>
  fetch("https://api.ipify.org/")          // call external service 
    .then( r => r.text() )                  // requesting the text from the fetch response
    .then( ip => {                         // this is the "security" function
      console.info(`Your IP is ${ip}.` );  // Just a Info message in the console to see if the IP is returned
      if(ip === "127.0.0.1"){  // I had to enter a valid IPv4 IP(even if it is only local)
          alert('Error');
          //... here you redirect ...
      }
    });
</script> 

Информация/Обновление: Я использую другой подход (не jsonp), так jsonp как ссылка не работала, когда я ее пробовал. Теперь это работает, поэтому ваш код должен работать, за исключением того, что введенный IP-адрес не является допустимым IPv4