简体   繁体   中英

what is the best way to detect a client uniquely?

I want to detect my clients uniquely to log some unique information. what is the best way, based on my research finding MAC address is not possible, hard disk serial number in generated by OS and is different from manufacture serial no.. what do you suggest? The technologies are struts (jsp),spring and hibernate.

I suggest that you don't.

Assuming that the clients are actually web browsers ('cos you are using struts), it is not possible to reliably identify the client IP address ... and the browser sandbox will prevent you from getting any of the other information that would identify the machine.

The best suggestion I can think of is to require the user to install a client-side SSL certificate, and configure your service to request / require that the browser supplies the client certificate for HTTPS connections. For example, this page describes how to do this with Tomcat - http://www.tomcatexpert.com/knowledge-base/client-certificate-authentication-tomcat

Of course, client-side SSL certificates assume that the user is willing to install one. You cannot implement this without the cooperation of the user ... or the people who manage his/her machine.

it may be possible to do some browser fingerprinting based on the kind of information that panopticlick collects: system fonts, browser type, etc. also you can drop a cookie onto their system with a long expiry date, and it will identify that browser for as long as they keep cookies around.

That said, that is a pretty skeevy way to go about collecting information about visitors.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM