Browser Fingerprint
by fabiocicerchia
HTML
<script src="http://www.myersdaily.org/joseph/javascript/md5.js"></script>
JavaScript
var SEP = '|';
var ua = window.navigator.userAgent.toLowerCase();
var opera = ua.indexOf('opera') >= 0 || ua.indexOf('opr') >= 0;
var ie = ua.indexOf('msie') >= 0 && !opera;
/**
*
*/
function activeXDetect(componentClassID) {
var e, obj = document.createElement('div'),
verIEfull = null; // Full IE version [string/null]
try {
obj.style.behavior = 'url(#default#clientcaps)';
verIEfull = obj.getComponentVersion('{' + componentClassID + '}', 'componentid').replace(/,/g, '.');
} catch(e) {};
return verIEfull;
}
/**
* Remove illegal characters from a string
*
* @return string
*/
function stripIllegalChars(value) {
return value.replace(/[\n\/\\]/g, '');
}
/**
* Get filename from a full path string.
*
* @return string
*/
function baseName(tempFileName) {
return tempFileName.replace(/.*[\/\\]/g, '');
}
/**
* Get the plugins information.
*
* @return string
*/
function fingerprint_software() {
t = '';
isFirst = true;
if (window.navigator.plugins.length > 0) {
for (i = 0; i < window.navigator.plugins.length; i++) {
plugin = window.navigator.plugins[i];
if (isFirst == true) {
t += baseName(plugin.filename);
isFirst = false;
} else {
t += SEP + baseName(plugin.filename);
}
}
} else if (window.navigator.mimeTypes.length > 0) {
for (i = 0; i < window.navigator.mimeTypes.length; i++) {
mimeType = window.navigator.mimeTypes[i];
if (isFirst == true) {
t += mimeType.type;
isFirst = false;
} else {
t += SEP + mimeType.type;
}
}
} else if (ie) {
components = new Array(
'7790769C-0471-11D2-AF11-00C04FA35D02', '89820200-ECBD-11CF-8B85-00AA005B4340',
'283807B5-2C60-11D0-A31D-00AA00B92C03',...