【问题标题】:How can I block specific IP addresses in blogger via script?如何通过脚本阻止博客中的特定 IP 地址?
【发布时间】:2021-11-11 15:58:16
【问题描述】:

你好,我一直在寻找一个代码,可以让我在博客中阻止 IP 数周。我已经尝试过这些行,但重定向对我不起作用。

【问题讨论】:

  • 使用 JavaScript 来阻止 IP 基本上是无效的,因为这种检查可以通过简单地禁用 JavaScript 或者更优雅的方式来绕过存储脚本的域的 DNS。您能否详细说明为什么需要此功能?如果这实际上不是 XY 问题,您将需要某种服务器端过滤。即便如此,基于 IP 的阻止仍然在很大程度上无效,因为释放和更新对特定 IP 的 DHCP 保留或使用代理/VPN 非常简单。
  • 这不是针对客户的,而是针对大学项目的,我必须阻止博客网站的特定 IP。他们是否删除 JavaScript 或使用 VPN 都没有关系,它只是阻止 ip 并且脚本对我有用。我希望你能帮助我的朋友。
  • 首先你尝试了什么,问题似乎是什么。在浏览器控制台中,您收到什么错误消息?顺便说一句:不要发布代码的图像发布代码,Stackoverflow 有一个很好的语法高亮选项。
  • btw.: 也许它不起作用,因为输入的 IP 不是有效的 IPv4,因为没有数字可以大于 255 而你有一个是 333.
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: javascript html blogger script


【解决方案1】:

既然您知道它不是 save 并且 diesen 提供任何类型的真正保护,这里有一个快速有效的解决方案:

它建立在您的图像代码之上。我希望这会有所帮助,或者至少向您展示不同的视角。

  1. 使用 javascript fetch 调用获取 IP 地址(可能不适用于旧版浏览器)
    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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    相关资源
    最近更新 更多