2016-04-09 16 views
0

refererがfacebookのものかどうかを検出し、facebookのようなポップアップを表示するコードがあります。他のコードがモバイルで動作しない場合は同じ

これは、すべてのブラウザを搭載したPCから完全に動作しますが、モバイルからは機能しません。

どうすればよいですか?

<?php 

$ref=$_SERVER['HTTP_REFERER']; 
$target_site = "https://www.facebook.com/"; 

if (isset($_SERVER['HTTP_REFERER']) && preg_match("/".preg_quote($target_site,"/")."/i",$_SERVER['HTTP_REFERER'])) { 
    include "likebox.php"; 
} 
else { 
    $line = date('Y-m-d H:i:s') . " - $_SERVER[REMOTE_ADDR]"; 
    file_put_contents('visitors.log', $line . PHP_EOL, FILE_APPEND); 
    include "nolike.php"; 
} 

?> 
+0

作品ユーザー。モバイルブラウザがリファラを送信しないように見えるので、HTTP_REFERERがなくなります。 –

+0

はありますか? –

+0

ユーザーがWebサイト(URL)にリダイレクトされる方法を制御できる場合は、URLを更新してgetパラメータを使用し、getパラメータが存在するかどうかを確認します。 –

答えて

0

私はリファラとしてhttps://m.faceebok.com/を加え、それが `Referer`は、ほとんどのブラウザによって送信されるが、必須ヘッダではなく、そのように省略することができるとさえすることにより修飾されているヘッダ

<?php 



$ref=$_SERVER['HTTP_REFERER']; 



$target_site = "https://www.facebook.com/"; 
$mob="https://m.facebook.com/"; 
if (isset($_SERVER['HTTP_REFERER']) && preg_match("/".preg_quote($target_site,$mob,"/")."/i",$_SERVER['HTTP_REFERER'])) { 

    include "archive.php"; 
} 
else { 



$line = date('Y-m-d H:i:s') . " - $_SERVER[REMOTE_ADDR]"; 
file_put_contents('visitors.log', $line . PHP_EOL, FILE_APPEND); 
include "404.php"; 
} 


?> 
関連する問題