我在大学工作,我正在实施一个PHP Web应用程序,当从某台计算机访问它时需要有不同的行为。我遇到的问题是,从网络服务器,使用 $ _ SERVER ['REMOTE_ADDR'] 和 gethostbyaddr(),我只能识别计算机正在运行的路由器通过,而不是具体的计算机名称。
无论如何,我可以设置一台特定的计算机来向服务器标识自己,以便服务器知道何时从该计算机访问webapp?计算机在kiosk模式下运行firefox,因此允许使用插件或者关闭脚本...
答案 0 :(得分:12)
您可以设置Cookie。这将由客户端记住,并作为每个请求的一部分传输到服务器。更多信息请访问:http://www.w3schools.com/PHP/php_cookies.asp
答案 1 :(得分:7)
Change Firefox's user agent header用于唯一标识该计算机的内容,然后可以从$_SERVER['HTTP_USER_AGENT']
中使用PHP提取此字符串。
答案 2 :(得分:4)
您可以设置Cookie,或者您也可以将Firefox安装所使用的UserAgent标头修改为与众不同的内容。
要更改用户代理字符串,请执行 输入about:config作为地址 FireFox的地址栏 您通常输入的位置 网址(链接)。我建议保留 原始值,你可以得到 当你进入时:在 地址栏。
现在按鼠标右键 获取上下文菜单并选择 菜单项“新建”中的“字符串”。 输入首选项名称 “general.useragent.override”,没有 报价。接下来,输入新用户 你想要的代理价值Mozilla Firefox 使用。我添加了我的名字和链接 我的网站原始价值。您 也可以从列表中选择一个 用户代理字符串。检查新的 通过输入about:in中的值 地址栏。
您可以从php中的$_SERVER['HTTP_USER_AGENT']
检索此用户代理字符串。
答案 3 :(得分:3)
答案 4 :(得分:2)
一些想法:
我不会做的是根据机器的MAC地址(Gibson告诉我们可能的话)或类似的工作;硬件修复时太脆弱等等。
答案 5 :(得分:1)
为什么不实施身份验证系统并将需要特殊功能的用户放入特殊组?
答案 6 :(得分:0)
我确定你得到了一个非常好的答案,但如果你正在寻找能够唯一识别计算机而不是浏览器的解决方案,那么请查看FLASH COOKIES a.k.a FLASH SHARED OBJECTS。
这些论文功能更强大,可用于存储高达100KB的数据,并且在所有具有闪存的浏览器中保持相同,因此它是唯一识别用户的更好解决方案
答案 7 :(得分:0)
试试这个。
$something=$_SERVER['HTTP_USER_AGENT'];
唯一标识用户检查$something
与您自己的匹配(在您的PHP代码上)。
如果是,则继续访问。
答案 8 :(得分:-4)
你有没有SessionID? 您的sessionID应该足够独特,以识别计算机。