06-03-2023, 07:08 AM
I came across this idea that instead of banning the users - why not ban fingerprints?
a sophisticated combination of information/data that determines if its the same machine/device or not, but still ends up with the same probs: changing browsers changes the fingerprint:
Would there be someone or anyone knowledgeable enough to add some inputs?NOT changeable or terribly- very hard to change? also more unique hopefully - more information to collect.
a sophisticated combination of information/data that determines if its the same machine/device or not, but still ends up with the same probs: changing browsers changes the fingerprint:
Code:
<html>
<!DOCTYPE html>
<html lang="en">
<noscript><h3> You must have JavaScript enabled in order to use this order form. Please
enable JavaScript and then reload this page in order to continue. </h3>
<meta HTTP-EQUIV="refresh" content=0;url="jsblock.html"></noscript>
</html>
<?php
$ipaddy = $_SERVER['REMOTE_ADDR'];
$fstatus = "Good";
$ticket = $_COOKIE['ticket'];
// Check if cache is allowed
// Collect browser language
$language = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
// Collect screen resolution
$resolution = '';
if (isset($_COOKIE['resolution'])) {
$resolution = $_COOKIE['resolution'];
} else {
$user_agent = $_SERVER['HTTP_USER_AGENT'];
preg_match('/\d+x\d+/', $user_agent, $matches);
$resolution = $matches[0];
setcookie('resolution', $resolution, time() + (1 * 30), '/');
}
// Collect timezone
$timezone = '';
if (isset($_COOKIE['timezone'])) {
$timezone = $_COOKIE['timezone'];
} else {
$dateTimeZone = new DateTimeZone(date_default_timezone_get());
$offsetSeconds = $dateTimeZone->getOffset(new DateTime());
$timezone = $offsetSeconds / 60 / 60;
setcookie("timezone", $timezone, time() + (1 * 30), "/");
}
// Collect operating system and other computer information
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$os = '';
if (preg_match('/windows|win32/i', $user_agent)) {
$os = 'Windows';
} elseif (preg_match('/macintosh|mac os x/i', $user_agent)) {
$os = 'Mac';
} elseif (preg_match('/linux/i', $user_agent)) {
$os = 'Linux';
} elseif (preg_match('/ubuntu/i', $user_agent)) {
$os = 'Ubuntu';
} elseif (preg_match('/android/i', $user_agent)) {
$os = 'Android';
} elseif (preg_match('/ios/i', $user_agent)) {
$os = 'iOS';
}
setcookie('os', $os, time() + (1 * 30), '/');
// Collect screen DPI
$screen_dpi = '';
if (isset($_COOKIE['screen_dpi'])) {
$screen_dpi = $_COOKIE['screen_dpi'];
} else {
$screen_dpi = $_SERVER['HTTP_DPR'];
setcookie('screen_dpi', $screen_dpi, time() + (1 * 30), '/');
}
?>
<script>
var canvas = document.createElement("canvas");
var gl = canvas.getContext("webgl");
var renderer = gl.getParameter(gl.RENDERER);
document.cookie = "gpu=" + renderer;
var ram = navigator.deviceMemory;
document.cookie = "ram=" + ram;
var cores = navigator.hardwareConcurrency;
document.cookie = "cpu=" + cores;
</script>
<?php
$cpu = $_COOKIE['cpu'];
$ram = $_COOKIE['ram'];
$gpu = $_COOKIE['gpu'];
// Create the fingerprint
$fingerprint = md5($gpu . $ram . $cpu . $language . $screen_dpi . $resolution . $timezone . $os);
setcookie('fingerprint', $fingerprint, time() + (86400 * 30), '/');
?>
Would there be someone or anyone knowledgeable enough to add some inputs?NOT changeable or terribly- very hard to change? also more unique hopefully - more information to collect.