İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Referer Check Nasıl Yapılır?

PDET

0
İyinet Üyesi
Katılım
30 Kasım 2005
Mesajlar
322
Reaction score
0
www.benimsitem.com/register.php adresine eğer izin verilen sitelerden gelindiyse register.php nin çalışmaya devam etmesini eğer izinsiz bir siteden geldiyse scriptin hata vermesini istiyorum.

izin verilen sitelerin bir database de yer aldığını varsayarsak bunu nasıl yapabilirim.

Teşekkürler.
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
PHP:
$site = $_SERVER["HTTP_REFERER"];
$site = explode("/", $site);
$site = $site[2];
if ($site != "www.hode.com" and $site != "hode.com") {
echo "olurmu hiç 5 kulak dönde aynaya bak";
die;
}
 
F

fabal

Misafir
PHP:
 $sites = array();
 $result = mysql_query("SELECT site FROM izin_verilen_siteler");
 while( list($site) = mysql_fetch_row($result) ) {
  $sites[] = $site;
 }
 
 if( preg_match("#^http://(".implode("|", $sites).")#si", getenv('HTTP_REFERER')) ) {
  // izin verilen siteler
 } else {
 // izin verilmeyen siteler
 }

şeklinde yapabilirsin. Tabi ki kodun düzgün çalışabilmesi için izin verilen sitelerin çekildiği bölümde gerekli alan adı ve tablo adı değişiklikleri yapmanız gerekiyor.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Satir satir yazilmis domainlerin oldugu text dosyasindan onaylatacak seklini de ben ekliyim.

PHP:
$sites = file("siteliste.txt");

$site = $_SERVER["HTTP_REFERER"];
$site = explode("/", $site);
$site = $site[2];
if (!in_array($site,$sites)) {
echo 'olmadi';
}
else {
echo 'olur';
}
 

THR

0
İyinet Üyesi
Katılım
31 Ekim 2005
Mesajlar
0
Reaction score
3
angelo
if (!in_array($site,$sites)) {
echo
'olmadi';
}


exit() gerekmez mi yoksa devam eder?


 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
if (KOSUL) { birseyler yap }
else { baska birseyler yap }

exit dersen script durur. o zaman kosulu saglamayan yani, listede bulunanlara sayfa gosterimi devam etmez.
 

PDET

0
İyinet Üyesi
Katılım
30 Kasım 2005
Mesajlar
322
Reaction score
0
Olur Demeden Devam Etmesi İçin

Hocam olur demeden devam etmesi için else parantezine echo 'olur'; yerine scriptin geri kalanını mı yazmalıyım?
 

elmasgunes

0
İyinet Üyesi
Katılım
27 Ocak 2004
Mesajlar
1,443
Reaction score
0
Angelo'nun kodları üzerinde PDET'in sorusunu yanıtlayalım.

PHP:
$sites = file("siteliste.txt");

$site = $_SERVER["HTTP_REFERER"];
$site = explode("/", $site);
$site = $site[2];
if (!in_array($site,$sites)) {
 //hata sayfası
}
else {
 //çalıştırılmasını istediğiniz script
}

ya da

PHP:
$sites = file("siteliste.txt");

$site = $_SERVER["HTTP_REFERER"];
$site = explode("/", $site);
$site = $site[2];
if (!in_array($site,$sites)) {
 echo "olmadi";
 exit();
}

şeklinde sayfanın en üstüne koyabilirsiniz. İkisi de aynı kapıya çıkmaktadır.
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
elmasgunes' Alıntı:
Angelo'nun kodları üzerinde PDET'in sorusunu yanıtlayalım.

PHP:
$sites = file("siteliste.txt");

$site = $_SERVER["HTTP_REFERER"];
$site = explode("/", $site);
$site = $site[2];
if (!in_array($site,$sites)) {
 //hata sayfası
}
else {
 //çalıştırılmasını istediğiniz script
}

ya da

PHP:
$sites = file("siteliste.txt");

$site = $_SERVER["HTTP_REFERER"];
$site = explode("/", $site);
$site = $site[2];
if (!in_array($site,$sites)) {
 echo "olmadi";
 exit();
}

şeklinde sayfanın en üstüne koyabilirsiniz. İkisi de aynı kapıya çıkmaktadır.
o kodlar angelo'nun degil bi kere benim:( öhüüüüüü

:)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst