【发布时间】:2021-04-20 20:10:03
【问题描述】:
假设我有这个 div 元素,并且我有 0.0.0.1 的 IP 并且 div 没有显示,但是我进入 IP 为 0.0.0.2 的站点并且 div 显示了如何做到这一点的任何想法? ?
【问题讨论】:
-
让我们备份并问为什么你需要这样做,因为唯一可靠地知道它正在与之交谈的IP地址是服务器,这就是为什么要服务器根据 IP 发送不同的响应,如果这是您需要的那种数据流。浏览器可以随心所欲地对您的 JS 撒谎,而您永远不会知道,因为您无法控制用户的浏览器,他们可以。你控制服务器。
-
对,那么为什么让客户端而不是服务器这样做呢?服务器将具有您的“谁是管理员”逻辑,并且可以发送包含或不包含您的
admin-stuff.js文件的页面响应,然后将为人们在清除 IP 地址的计算机上使用的任何浏览器加载该响应.另外,通过这种方式,您可以让服务器记录允许来自该脚本的任何交互。即使有人将脚本加载到他们的页面中,您的服务器仍然会知道“实际上,不,您无法与我进行仅限管理员调用的交互” -
您的服务器(PHP、express 等)可以决定人们在请求页面时获得的内容。因此,如果请求计算机的 IP 地址是您配置为“这些应该看到管理内容”的地址之一,则您让您的服务器(通过页面模板或页面渲染上下文)包含或不包含类似
<script src="./js/admin.js"></script>的内容",包括人们在浏览器中手动编辑他们的 DOM 以无论如何加载该脚本。服务器可以简单地使用 403 代码进行响应,因为它们的 IP 不允许加载该文件。 -
因此请注意:请包含一些说明您正在使用的服务器软件或主机的文本(和标签,如果适用)。因为让 JS 这样做是尝试添加这个的最糟糕的方法:让浏览器报告一个错误的 IP 和 bam 是微不足道的,不允许看到的用户现在可以看到他们的所有内容不允许看到。
标签: javascript ip-address