Uniquely identify one computer

2019-01-15 19:06发布

I work for a university, and i'm implementing a PHP web app that needs to have different behavior when it is visited from one certain computer. The problem i am running into is that from the webserver, using $_SERVER['REMOTE_ADDR'] and gethostbyaddr(), i can only identify the router that a computer is going through, and not a specific computername.

Is there anyway i can set that one specific computer to identify itself to the server so the server knows when the webapp is being accessed from that machine? The computer is running firefox in kiosk mode, so addons or greasemonkey scripts are allowed...

标签: php firefox
9条回答
该账号已被封号
2楼-- · 2019-01-15 20:05

Change Firefox's user agent header to something that uniquely identifies that machine, you can then extract this string in PHP from $_SERVER['HTTP_USER_AGENT'].

See How to edit the User Agent string

查看更多
够拽才男人
3楼-- · 2019-01-15 20:06

You could set a cookie, or alternatively, you could modify the UserAgent header that your Firefox installation is using to something distinctive.

To change the User Agent string, just enter about:config as an address in the address bar of FireFox, the location where you normally enter a URL (link). I recommend to preserve the original value, which you can get when you enter just about: in the address bar.

Now press the right mouse button to get the context menu and select "String" from the menu entry "New". Enter the preference name "general.useragent.override", without the quotes. Next, enter the new User Agent value you want Mozilla Firefox to use. I added my name and a link to my web site to the original value. You can also pick one from the list of User Agent strings. Check the new value by entering about: in the address bar.

You can retrieve this User-Agent string from $_SERVER['HTTP_USER_AGENT'] in php.

查看更多
Anthone
4楼-- · 2019-01-15 20:06

Some thoughts:

  • Set a durable cookie. (Since FF is in kiosk mode, you should be safe from the users clearing it.)
  • Have that kiosk use a different URL (perhaps with a query string parameter).

What I wouldn't do is work according to the machine's MAC address (which Gibson tells us is possible) or similar; too fragile when hardware gets fixed, etc.

查看更多
登录 后发表回答