2014-12-02 43 views
0

有人试图欺骗我,他们假装成为我的亲密朋友之一,以羞辱我们两个人。这个人创建了一个虚假的电子邮件帐户,冒充这个人,并试图从我身上获取个人信息。我确信我的朋友,这不是他,现在我们试图找出它是谁。使用PHP/JavaScript链接获取有关网站访问者的信息

我想给他们发送一个链接到某种PHP或JS页面,至少收集关于他们的客户端(浏览器,操作系统,可能是ISP位置?)的一些信息,然后将它们转发给一个实际的网站(如YouTube视频或其他)。

对PHP有非常基本的了解,我真的很感谢任何一种能够让我收集一些基本信息的脚本。

谢谢!

+1

两个错误并不正确。但是,你为什么不主持一个网站,并检查Apache日志,会更容易。如果这个问题会使你的身份处于危险之中,我会联系当局。 – Grasshopper 2014-12-02 23:54:50

回答

0

您可以获取一些信息,如IP和用户代理,并将其写入文件。

<?php 
$fp = fopen("Output.txt","a"); 
$visitorIP  = addslashes((getenv(HTTP_X_FORWARDED_FOR)) ? getenv(HTTP_X_FORWARDED_FOR) : getenv(REMOTE_ADDR)); 
$visitorBrowser = addslashes(($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'Browser undetectable.'); 
$User_Info = "IP: " . $visitorIP . "\t\tUser Agent: " . $visitorBrowser . "\n"; 
fwrite($fp, $User_Info); 
header('Location: http://REDIRECTURLHERE') ; 
?> 

结果将在名为Output.txt的文件中。从这里,你可以把它重新

+0

使用'HTTP_X_FORWARDED_FOR'是一些网站无法找出谁被黑客攻击的原因。 [用户可以设置'X-Forwarded-For'头](http://stackoverflow.com/a/21362813/607407)。当然,不是一个毫无戒心的用户。 – 2014-12-02 23:54:46

+0

当然,如果有人想欺骗他们的IP,用户代理或推荐人,他们可以很容易地做到这一点。但不知情的用户不会改变它。 – Bijan 2014-12-02 23:57:11

2

PHP:

数据检索

基本重定向可以很容易实现(在PHP中,之前的任何输出):

header("Location: http://...."); 

然而如果您发送此消息,他的浏览器将不会在您的假冒页面上加载任何JavaScript或HTML。你仍然能够收集从$_SERVER superglobal variable如下:

  • HTTP_USER_AGENT - 无论他的浏览器发送它的识别
  • REMOTE_ADDR - 他的IP(或服务器代理IP)

这里是全$_SERVER variable dump

数据保存

这是很容易将数据保存在PHP。如果你懒,你可以用file_put_contents:

file_put_contents("info.txt", print_f($_SERVER, true)); 

print_ftrue导致函数回报字符串,而不是打印出来。

的Javascript

数据检索

的JavaScript可以让你访问有关浏览器太信息。但任何个人信息只能在用户明确允许后才能检索。

重定向则是可以做到用:

window.location.href = "http://..."; 

因此,这是你能得到什么:

未经许可

  • navigator.userAgent - 一样的PHP用户代理,但我认为这个不能被隐藏起来很容易(有些人会安装附加组件来隐藏他们的真实用户代理)
  • screen size
  • operating system(和其他有趣的信息)

随着许可

获得用户许可的,真正有趣的东西可以检索:

数据保存

这是一个复杂的过程:您需要时间将数据从用户浏览器发送到您的服务器。可能的解决方案:

Synchronous request

通常情况下,装载/发送数据,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"); 

现在,如果您重定向用户在别处,该请求可能会停止。但是,可以设置请求是阻断/同步(或可以重定向请求完成,其可以是suspitious后)

//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

Read on MDN.并不适用于所有浏览器。

心理学​​

的解决方案,我会去通过电脑黑客,但社会工程不会去。我会玩他的比赛,并最终发现他是谁(只要我知道现实生活中的人)。每个人都有行为和表达特征。他们假装自己是别人的事实并不像看起来那么重要。实际上,任何计算机安全性最好使用计算机用户来破解。任何其他类型的安全或保密也是如此。