【发布时间】:2023-03-22 16:21:01
【问题描述】:
我正在开发内部 PHP 应用程序,用户只能从我们的网络登录(我们在专用 IP 上,应用程序正在检查 $_SERVER['REMOTE_ADDR'] 如果匹配我们的 IP,如果不匹配,则通过 - 再见
但是,我如何识别从哪个站用户登录? 使用 cookie 不起作用 - 这些是在 MS StedyState 控制下工作的 Windows 站,每次登录都会删除所有 cookie 我不需要像完整的 MAC 地址这样的花哨的东西,只需要任何唯一的 ID(不能是应用程序用户名 - 因为用户使用不同的站点)
有什么想法吗? 也许 Javascript 能够从站的浏览器(IE 8)中获取一些独特的细节并将其作为隐藏输入传递?
本休
【问题讨论】:
-
var 转储 $_SERVER 看看你有什么
-
AFAIK 你不能依赖 $_SERVER['REMOTE_ADDR'] 作为请求的真实 IP。你可以在客户端伪造它。
-
@controlfreak123 你错了,不管你是什么意思
-
二校弹片。如果您在 $_SERVER['REMOTE_ADDR'] 中伪造了 IP 地址,那么服务器将不知道将网页请求发回何处。您可以伪造它的唯一方法是使用代理服务器,但是如果终端使用 SteadyState 并且如 OP 所说的那样在内部网络上,这并不实际(特别是如果工作站被锁定以现在允许新安装或任何东西)。
标签: php javascript