2013-05-02 29 views
0

有沒有辦法檢測用戶是否正在使用iDevice而不讀取用戶代理(很容易被欺騙)?我想有一個移動版本(沒有驗證碼),但桌面版本會有驗證碼,所以我想使用除UA檢查之外的其他檢查方法。檢測用戶是否正在使用iDevice

+1

用PHP沒有完美的解決方案。所有通過HTTP傳遞的數據都可以僞造。 – bwoebi 2013-05-02 12:45:06

+0

嗨,你爲什麼要檢查?驗證碼用於檢查用戶是機器還是人。在iPhone中,只有一個人可以啓動應用程序。你知道我的意思? :) – Retterdesdialogs 2013-05-02 12:45:56

+0

好的,但假UA是一個孩子的戲劇。有沒有先進的檢測? – VladHQ 2013-05-02 12:46:47

回答

2

據我所知,你無法檢測到沒有用戶代理的手機。事實上,沒有那個檢查移動設備的其他功能..

您可以檢查這個輕量級類檢測手機類設備:

https://code.google.com/p/php-mobile-detect/

1

首先,@bwoebi說,有沒有其他方式可靠地檢查,看看他們是否在iOS上。

但是,你可以說這樣的話;好的,移動設備的屏幕尺寸爲< Y * X,因此我可以檢查屏幕尺寸。不幸的是,這也很容易被欺騙 - 通過調整瀏覽器窗口的大小

最後,跳過任何人的Captcha可能不是一個好主意。只需使用它或不使用 - 黑客足夠聰明,可以設置用戶代理或調整瀏覽器的大小。此外,它不像人們在移動不能解決Captchas。

+0

你知道iOS瀏覽器是否發送任何額外的頭文件嗎? – VladHQ 2013-05-02 12:56:10

+0

@ user2342080不,但是再一次,任何HTTP頭文件都很容易僞造。您可能需要讓您的移動用戶像其他人一樣解決Captcha問題。 – Undo 2013-05-02 12:59:49

0

我只是用手機檢測約30分鐘前,它完美的作品,並易於實現所有你把你的代碼是:

// Check for a specific platform with the help of the magic methods: 
if($detect->isiOS()){ 
    // do code here 
} 

,它會做的代碼。使用方便。 只需將include 'includes/Mobile_Detect.php'; $detect = new Mobile_Detect();放在頁面的頂部,它就可以正常工作。

Mobile Detect.net