如何使用 Javascript 将 IP 列入白名单?
How do I White-list IPs With Javascript?
有什么方法可以仅使用 JavaScript 将 IP 地址列入白名单,还是我必须使用 php 或其他服务器端语言?所谓白名单,是指只有一定数量的指定IP才能访问网页。如果 JavaScript 无法做到这一点,请告诉我。
绕过客户端 IP 检查是可能的,但会非常容易。用户需要做的就是在他们的浏览器中禁用 Javascript,然后他们就可以访问该站点。
IP 白名单通常是由 Web 服务器(Apache、Nginx、IIS)完成的;不是 Web 应用程序(PHP、Python、NodeJS),尤其要注意客户端脚本。
- 阿帕奇:https://httpd.apache.org/docs/2.4/howto/access.html
- Nginx:https://www.nginx.com/resources/admin-guide/restricting-access/
- IIS: https://technet.microsoft.com/en-us/library/cc731598(v=ws.10).aspx
如果您真的想在客户端执行此操作,则必须实际调用一项服务,告诉您正在使用的 IP 地址。有关如何执行此操作的示例,请参阅 this SO question。然后,您可以将 IP 地址与一组允许的 IP 进行比较。如果不匹配,拒绝访问的最简单方法是将用户重定向到该站点。
再次强调,客户端白名单不安全,根本不推荐!
有什么方法可以仅使用 JavaScript 将 IP 地址列入白名单,还是我必须使用 php 或其他服务器端语言?所谓白名单,是指只有一定数量的指定IP才能访问网页。如果 JavaScript 无法做到这一点,请告诉我。
绕过客户端 IP 检查是可能的,但会非常容易。用户需要做的就是在他们的浏览器中禁用 Javascript,然后他们就可以访问该站点。
IP 白名单通常是由 Web 服务器(Apache、Nginx、IIS)完成的;不是 Web 应用程序(PHP、Python、NodeJS),尤其要注意客户端脚本。
- 阿帕奇:https://httpd.apache.org/docs/2.4/howto/access.html
- Nginx:https://www.nginx.com/resources/admin-guide/restricting-access/
- IIS: https://technet.microsoft.com/en-us/library/cc731598(v=ws.10).aspx
如果您真的想在客户端执行此操作,则必须实际调用一项服务,告诉您正在使用的 IP 地址。有关如何执行此操作的示例,请参阅 this SO question。然后,您可以将 IP 地址与一组允许的 IP 进行比较。如果不匹配,拒绝访问的最简单方法是将用户重定向到该站点。
再次强调,客户端白名单不安全,根本不推荐!