Wed, 31 Oct 2018 17:43:22 +0300, Abdullah Ülker (Yandex)
<[email protected]> :

> Benim yapmak istediğim botları engellemek.
> Zira belli bir ip engellendiginde ip değiştirip yeniden geliyor.

Kısa vadeli çözüm açısından:

1) Web sunucusunun ayarlarından user-agent değişkenine göre engelleme
yapabilirsiniz. IP değiştirseler de, bunu aslında "atlatmak" amaçlı
yapmıyorlar, genelde kendilerini gizlemeye çalışmıyorlar. O yüzden
user-agent değerine göre eşleyebilirsiniz.

2) Genelde yoğun bot aktivitesi çoğunlukla I/O sorununa yol açar. CPU
şişiyor diye görebilirsiniz ama sorun biriken I/O isteklerini CPU'nun
önceliklendirmeye çalışmaktan olabilir. Darboğaza bir de o gözle bakın.
Disklerinizi hızlandırmayı düşünebilirsiniz. SSD'ye koyabileceğiniz
gibi, eğer web uygulamasının içeriği değişmiyorsa doğrudan RAM'de bir
dosya sistemi oluşturup oradan servis vermeyi de düşünebilirsiniz.

Uzun vadeli çözüm açısından:

1) Botların sitede bu kadar yük oluşturmasının bir nedeni olmalı.
Örneğin botlar bir şekilde sonsuz döngüye giriyor olabilirler. Web
sitesi de bunlara yanıt veriyordur. İstekte bulundukları URL'leri bir
inceleyebilirsiniz. Örneğin,
https://ozguryazilim.com.tr/egitimler/postgresql/egitimler/postgresql/egitimler/postgresql/

gibi bir URL'e yapılan request ortada bir terslik olduğunu
gösterecektir. Büyük olasılıkla sitede programatik olarak hatalı bir
link üretiliyor, site de 200 döndürmeye devam ettiği için bot da bunu
farketmeyip içeri doğru dalıyor demektir.

2) Web sayfalarınızın header'larında gönderdiği cache değerlerini
yükseltebilirsiniz. Bu da botların sitenize daha az uğramalarını
sağlayacaktır (içeriğin değişmediğini bildirdiğiniz için). En azından
sık değişmeyen kısımları için bunu yapabilirsiniz.

3) robots.txt dosyasını takmadıklarını düşünmüyorum botların. Sadece
takmaları zaman alıyordur. Çünkü onlar da cache yapıyorlar. O yüzden
robots.txt'inizi siz yine de düzgün tutun. sitemap.xml'i ciddiye alan
botlar için de 1. maddedeki durumun gerçekleşmesi engelleniyor. Elbette
sitemap.xml'iniz güncel değilse, bunun dezavantajı indekslenmesi
gereken bazı sayfalar indekslenmeyebilir.

4) Sunucunuzun genel olarak performansını arttırmaya yönelik çalışmalar
yapabilirsiniz: mod_php yerine bir PHP uygulama sunucusuna geçiş ve
statik içeriklerini o uygulama sunucusuna aktarmayıp web sunucusundan
sunmak, PHP 7'ye göç etmediyseniz ona geçiş, Wordpress tarafında mobil
entegrasyonunuz yoksa kullanılmayan xmlrpc.php dosyasına erişim
kısıtlaması vs vs.

                   Doruk

--
Özgür Yazılım A.Ş. ~ #
http://www.ozguryazilim.com.tr
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
https://liste.linux.org.tr/mailman/listinfo/linux-sunucu

Cevap