Nasıl php tazelede http yönlendirme verilerin yeniden gönderme etrafında çalışabilirsiniz?

3 Cevap php

Ben sitemde bir IN / OUT oranı hit sayma sistemi var. Bir kullanıcı siteme gönderildiğinde, ben, yönlendirme kapmak etki şerit, hits_in için etki alanı ve 1 bakmak. Çok basit. Bir kullanıcı sayfayı yeniler eğer sen, keşfedilen, ne yönlendirme siteye resent olduğunu ve başka 1 olarak sayar. Daha da kötüsü sonra bazı sitede linki ve kullanıcı tıkladığında orijinal sayfasına gitmek için BACK vurursa, yönlendirme yeniden gönderildiği ve başka +1 olarak sayar olmasıdır nedir. Yabancı bir site bana bir video bağlantısı tıkladığında 1 kullanıcı, gönderirse Yani, video görüşlerini GERİ tarayıcısına vurur, ve bir site ne zaman aslında bana 4 kullanıcıları göndermiş gibi o zaman bu 3 kez, o sayacaktır yok onun sadece 1..

Ben aslında tüm IP'leri oturum ve 1 yapmadan önce her bir IP için erişim süreleri kontrol etmeden oluyor 2 örnekler önleyebilecek herhangi bir şekilde.

3 Cevap

Ben bu uzman değilim, ama sadece oturumları kullanamazsınız. geçici oturum içine sevk url saklamak, böylece kullanıcı kullanıcılar oturum sevk sitesi olup olmadığını kontrol daha geri tıklar. İçerdiği eğer sayılmaz.

Şey gibi yapmak,

Kullanıcı tanımlama 'referer_logged' kümesi, kendi referer oturum ve çerez set yoksa.

Bu kullanıcı başına yalnızca bir referer giriş yapacak.

İşte ben bazen kullanmak bir referer senaryo.

Lütfen işlevleri dosyasında koy.

function referer()
{
	if(isset($_SERVER["HTTP_REFERER"]) && substr($_SERVER["HTTP_REFERER"], 0, 22) != "http://www.example.com" && substr($_SERVER["HTTP_REFERER"], 0, 18) != "http://example.com")
	{
		$result = sprintf("INSERT INTO referer (referer, ip, date) VALUES ('%s', '%s', '%d')", mysql_real_escape_string($_SERVER["HTTP_REFERER"]), mysql_real_escape_string($_SERVER["REMOTE_ADDR"]), time());
		$query = mysql_query($result);

		if($query)
		{
			return true;
		}
		else 
		{
			return false;
		}
	}
}

Ve bir yere indeks dosyasında

session_start();
if(!isset($_SESSION["referer"]))
{
    if(referer())
    {
        $_SESSION["referer"] = 1;
    }
}