2012-03-10 33 views
2

是否有可以從移動用戶代理,將唯一標識設備被拉到任何信息?移動用戶代理抓取詳情

如果可能的話,我想用PHP,承認它創建的網頁是我是從我的iPhone訪問它。除此之外的其他聲明不會顯示任何內容。

回答

3

您可以使用下一個變量:

$_SERVER['HTTP_USER_AGENT'] 

是:

這表示該用戶代理的被訪問 頁面

您可以將字符串使用這樣的:

if(strstr($_SERVER['HTTP_USER_AGENT'],'Android')) //Android 
{ 

} 
elseif(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone')) //iphone 
{ 

} 
else 
{ 

} 
0

我的一對夫婦的項目中使用this。它可能太臃腫,不適合您的需求,但您可以排除不需要的瀏覽器檢測功能。

除了檢測瀏覽器,它也檢測版本。

1

如果您使用的是手機附帶的「開箱即用」的瀏覽器則是可能是爲了唯一識別您的設備僅基於用戶代理字符串。

一個User-Agent string僅標識類型,版本,以及您所使用的瀏覽器的詳細信息。由於成千上萬或數百萬人可能正在使用這個完全相同的瀏覽器,因此它不是唯一的,因此對於安全授權令牌來說,這是一個非常糟糕的選擇。

例如,對於三星Galaxy S3用戶代理字符串是:

的Mozilla/5.0(Linux的; U;的Android 4.0.4;烯GB; GT-I9300構建/ IMM76D) 爲AppleWebKit/534.30(KHTML,例如Gecko)版本/ 4.0移動Safari瀏覽器 /534.30

這說明瀏覽器的構建信息和兼容性,但獨特之處在於它是安裝在數千或數百萬的設備的構建。

因爲用戶代理字符串沒有真正獨特的地方,我建議不要使用它來提供任何級別的安全性。至少我建議實施HTTP基本認證。請確保在使用HTTP基本認證時啓用SSL,因爲您的用戶名和密碼是以HTTP編碼方式發送的,但未加密且易於被攔截。

如果您要保護的網站需要真正的安全保證,我建議您不要嘗試「推出自己的」認證計劃,除非您是安全專家。我建議使用安全框架,如OWASP's ESAPI或另一個經過良好測試的框架。在構建身份驗證系統時,有很多方法會導致錯誤,所以最好使用在部署到生產環境中之前已經過全面測試的方法。