• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

PHP Botların Veri Çekmesini Engelleme

Konuyu Okuyan Kişiler (0)

inforesim

webmaster.tc
Katılım
4 Ağu 2012
Mesajlar
2,439
Beğeniler
0
#1
Başınıza gelebilecek en kötü durumlardan biri de, Birisinin sizin sitenizden içerik çekip aramalar da sizin üstünüzde çıkmasıdır (Siz saatlerce emek verirsiniz, O 1 dk da bot ile Otomatik çeker ve İşini halleder). Şimdi sizlere basit bir yöntem ile Sitenize file_get_contents ile Erişimin engellenmesini anlatacağım.

Yeni botçuların ve Prof botçuların bazıları, file_get_contents kullanır. Çünkü curl kadar karışık değildir. Sadece 1 satır kod yazarsın tak kaynak kodunu karşı siteden alırsın.


File_get_contents ile Curl arasındaki en büyük fark, Curl da tarayıcı taklidi vardır. Yani tarayıcıymış gibi siteye girebilir ama file_get_contents hiç bir bilgi vermeden sitenize girer.

İlk olarak, file_get_contents ile Sitenize girişleri engelleyelim.

Database bağlantı dosyasında, <?php satırının altına aşağıdaki kodu koymanız yeterli.

PHP:
if($_SERVER["HTTP_USER_AGENT"]==""){ exit(); }
Bu koddan sonra sitenizin MYSQL bağlantısı olan (Yani veritabanı kullanılan veya Veritabanı bağlantı dosyası include edilmiş her sayfada) ekran boş gelir.

Eğer kişi bunu aştıysa, Yani curl yöntemiyle çekiyorsa 2. yöntem olarak ip banlama yapılabilir.

Yani, Başlat -> Çalıştır -> cmd yazın ve Enter tuşuna basın (windows 7 de başlattan arama kısmına cmd yazdığınız dada çıkar). Ardından

HTML:
ping -t vericekensite.com
Şeklinde karşı site adresini yazın ve Karşınıza karşı sitenin ip leri çıkacaktır.



Yukarıda resimdeki beyaz ile aldığım yerde, Her satırda belirtilen ip ye sorgu göndermektedir. Oradan ip adresini alıp, Aşağıdaki şekilde sitenize eklerseniz o siteden hiç bir bot sitenize erişemez.

PHP:
if($_SERVER['REMOTE_ADDR']=="111.111.111"){ exit(); }
Bunu da demin yaptığımız gibi, DATABASE bağlantı dosyasının <?php nin altına yazacaksınız. 111.111.111 olan yere de karşı sitenin ip adresini yazacaksınız.

İyi kullanımlar, Umarım yararlı olmuştur :)
 

gkbrk

webmaster.tc
Katılım
9 Ağu 2012
Mesajlar
1,044
Beğeniler
0
#2
Eline sağlık. Birinci yöntem bayağı işe yarıyor ikinci yöntem bence çözüm değil proxy ile yine girer.
 

LadyArch3r

webmaster.tc
Katılım
6 Ağu 2012
Mesajlar
113
Beğeniler
0
#3
Güzel döküman ama sadece acemileri engelleyebiliriz bunun dışında curl ile çoğu kişi çeker heralde çünkü curl çok büyük kolaylık veriyor.

Teşekkürler.