2016-09-01 41 views
1

我有我的服務器上的下面的PHP代碼,讓我如果用戶凸輪從Facebook告訴我的網頁來到我的網站從Facebook:所以如何判斷一個人在使用移動應用程序

if ($_SERVER[HTTP_REFERER] == "https://www.facebook.com/") { do stuff } 

中,這裏的問題是人們也使用Facebook應用程序在手機上使用Facebook,所以我沒有以這種方式獲得推薦鏈接。

有沒有什麼辦法可以告訴我是否有人來到我的網頁點擊鏈接使用Facebook應用程序?

回答

0

我建議使用正則表達式進行匹配。

http://php.net/manual/en/function.preg-match.php

例如

if (preg_match("/.*\.(facebook|fbdcn)\.com/i", $_SERVER[HTTP_REFERER])) { 
    echo "A match was found."; 
} else { 
    echo "A match was not found."; 
} 

你可以使用這個網站找到一個很好的正則表達式。

https://regex101.com/

+0

感謝您的建議。使用正則表達式可能更安全,但我的主要問題是如何檢查是否有人來自Facebook,如果他使用Facebook應用程序 –

+0

我建議你創建一個'調試PHP腳本',將請求中的所有日期轉儲到日誌或瀏覽器。之後,只需使用應用程序瀏覽此頁面即可查看您獲得的內容。我使用這個phpinfo(),我在測試後刪除它。 – Aleksandar

+1

它使用你的正則表達式工作。我不知道Facebook的應用程序使引用鏈接。謝謝 –

相關問題