唯一标识一台计算机

时间:2009-08-25 21:17:15

标签: php firefox

我在大学工作,我正在实施一个PHP Web应用程序,当从某台计算机访问它时需要有不同的行为。我遇到的问题是,从网络服务器,使用 $ _ SERVER ['REMOTE_ADDR'] gethostbyaddr(),我只能识别计算机正在运行的路由器通过,而不是具体的计算机名称。

无论如何,我可以设置一台特定的计算机来向服务器标识自己,以便服务器知道何时从该计算机访问webapp?计算机在kiosk模式下运行firefox,因此允许使用插件或者关闭脚本...

9 个答案:

答案 0 :(得分:12)

您可以设置Cookie。这将由客户端记住,并作为每个请求的一部分传输到服务器。更多信息请访问:http://www.w3schools.com/PHP/php_cookies.asp

答案 1 :(得分:7)

Change Firefox's user agent header用于唯一标识该计算机的内容,然后可以从$_SERVER['HTTP_USER_AGENT']中使用PHP提取此字符串。

请参阅How to edit the User Agent string

答案 2 :(得分:4)

您可以设置Cookie,或者您也可以将Firefox安装所使用的UserAgent标头修改为与众不同的内容。

  

要更改用户代理字符串,请执行   输入about:config作为地址   FireFox的地址栏   您通常输入的位置   网址(链接)。我建议保留   原始值,你可以得到   当你进入时:在   地址栏。

     

现在按鼠标右键   获取上下文菜单并选择   菜单项“新建”中的“字符串”。   输入首选项名称   “general.useragent.override”,没有   报价。接下来,输入新用户   你想要的代理价值Mozilla Firefox   使用。我添加了我的名字和链接   我的网站原始价值。您   也可以从列表中选择一个   用户代理字符串。检查新的   通过输入about:in中的值   地址栏。

您可以从php中的$_SERVER['HTTP_USER_AGENT']检索此用户代理字符串。

答案 3 :(得分:3)

答案 4 :(得分:2)

一些想法:

  • 设置一个持久的cookie。 (由于FF处于自助服务终端模式,因此清除用户应该是安全的。)
  • 让自助服务终端使用不同的URL(可能带有查询字符串参数)。

不会做的是根据机器的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应该足够独特,以识别计算机。