PHP:
数据检索
基本的重定向可以很容易地完成(在 PHP 中,before任何输出):
header("Location: http://....");
但是,如果您发送此信息,他的浏览器将不会在您的虚假页面上加载任何 javascript 或 HTML。您仍然可以从以下位置收集以下内容$_SERVER 超全局变量 https://www.php.net/reserved.variables.server.php#refsect1-reserved.variables.server-indices:
-
HTTP_USER_AGENT
- 他的浏览器发送的任何内容作为身份识别
-
REMOTE_ADDR
- 他的IP(或服务器代理IP)
这里是完整的$_SERVER变量转储 https://gist.github.com/Darker/0f29836ca7013ee98263.
数据保存
在 PHP 中保存数据非常容易。如果你很懒,你可以使用 file_put_contents:
file_put_contents("info.txt", print_f($_SERVER, true));
The true
in print_f https://www.php.net/manual/en/function.printf.php导致函数return字符串,而不是打印它。
JavaScript
数据检索
Javascript 也可以让您访问有关浏览器的信息。但任何个人信息只有在用户明确允许后才能检索。
然后可以使用以下命令完成重定向:
window.location.href = "http://...";
所以这就是你可以得到的:
没有经过允许
-
navigator.userAgent https://stackoverflow.com/a/2401861/607407- 与 PHP 中的用户代理相同,但我认为这个不能轻易隐藏(有些人安装附加组件来隐藏他们真正的用户代理)
- 屏幕尺寸 http://andylangton.co.uk/blog/development/get-viewport-size-width-and-height-javascript
-
操作系统 https://stackoverflow.com/a/9514476/607407(以及其他有趣的信息)
经许可
经过用户许可,可以检索真正有趣的东西:
-
Location https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/Using_geolocation#Getting_the_current_position- 这实际上是相当精确的
- 摄像头和麦克风数据 https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder_API
数据保存
这就是事情变得复杂的地方:您需要时间将数据从用户浏览器发送到您的服务器。可能的解决方案:
同步请求 https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests
通常,当加载/发送数据时,javascript发送请求,分配在完成和结束时要执行的函数:
//Example of loading next page with AJAX
var req = new XMLHttpRequest();
req.open("POST", "http://...");
//This function will be started after the request finishes
req.onload = function() {
showPage(this.responseText);
}
//The request starts and the javascript thread ends
req.send("page=2");
现在,如果您将用户重定向到其他地方,请求可能会被停止。但是,您可以将请求设置为阻塞/同步(或者您可以重定向请求完成后,这可能是可疑的)
//Example of sending user info synchronously
var req = new XMLHttpRequest();
req.open("POST", "http://...", false);
//Let getuserInfo be function that creates the data
req.send(getUserInfo());
//Redirect when done
window.location = "http://...";
在第二种情况下,浏览器可能会变得无响应,这实际上比卡在空白页面上更可疑。
navigator.sendBeacon
阅读 MDN。 https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon不适用于所有浏览器。
心理学
我寻求的解决方案不会通过计算机黑客攻击,而是通过社会工程。我会玩他的游戏并最终发现他是谁(前提是我认识现实生活中的这个人)。每个人都有行为和表达特征。他们假装自己是别人的事实并不像看起来那么重要。
事实上,任何计算机安全最好是由计算机用户来破解。这同样适用于任何其他类型的安全或保密。