2014-12-02 116 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.並不適用於所有瀏覽器。

心理學​​

的解決方案,我會去通過電腦黑客,但社會工程不會去。我會玩他的比賽,並最終發現他是誰(只要我知道現實生活中的人)。每個人都有行爲和表達特徵。他們假裝自己是別人的事實並不像看起來那麼重要。實際上,任何計算機安全性最好使用計算機用戶來破解。任何其他類型的安全或保密也是如此。