2016-04-09 14 views
0

Yönlendiricinin yüz defterinden olup olmadığını algılayan ve ona ait yüz defterini kutu gibi gösteren bir kod var.Aynı kod, mobil cihazlar için çalışmazsa aynı

Tüm tarayıcılarda pc'den mükemmel çalışır, ancak mobilden çalışmaz.

Ne yapabilirim?

<?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

başlık 'Referer' çoğu tarayıcı tarafından gönderilen çalışır, ancak gerekli bir başlık değildir ve bu şekilde göz ardı edilebilir ve hatta modifiye Kullanıcı. Mobil tarayıcıların bir gönderen göndermediği anlaşılıyor, dolayısıyla "HTTP_REFERER" içermiyorsunuz. –

+0

herhangi bir çözüm var mı? –

+0

Kullanıcının web sitenize (url) nasıl yönlendirileceği konusunda denetiminiz varsa, get parametresini kullanmak için URL'yi güncelleyin ve get parametresinin varlığını kontrol edin. –

cevap

0

Sadece yönlendiren olarak https://m.faceebok.com/ ilave edildi ve bu

<?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"; 
} 


?> 
İlgili konular