如何解决JavaScript 绕过浏览器扩展获取客户端 IP 地址
我使用的是外部 API,API 的部分参数是 IP 地址。我查了查怎么做,我在这个 ipify 中使用了 answer 版本,因为它没有限制。这是脚本:
$.getJSON('https://api.ipify.org?format=jsonp&callback=?',function(data) {
console.log(data);
console.log(data.ip.toString());
retrieved_entity_ip = data.ip.toString();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
它运行良好,直到一些客户端被显示错误,根据日志,这是因为他们的 IP 地址丢失。我将范围缩小到他们的浏览器扩展程序 uBlock Origin,它阻止了脚本运行。
解决方法
您可以使用广告拦截器 not blacklisted 的公共服务,例如 https://www.myexternalip.com/json,但最终它也可能被列入黑名单,不受您的控制。
降低使用可列入黑名单的服务风险的最可靠方法是按照说明中的建议构建您自己的服务器,或者在请求失败时保留替代服务的更新列表。可能你不花钱就解决不了你的“问题”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。