flood engelleme etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
flood engelleme etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

27 Ocak 2013 Pazar

PHP ile Flood Koruması


 Merhaba arkadaşlar ,

Hile - Makale ve diğer sitelerim ile ilgilenirken çok yoğundum , yazı giremedim. Bu konumuzda php ile flood ve ya Mysql'ye gönderilen saldırıları engelleme konusundan bahsedeceğim. Bunu ben her sitemde kullanırım , çünkü aşırı şekilde saldırı geliyor. Buda forumu yavaşlatıyordu , çeşitli database hataları veriyordu. Host şirketi ile konuşup bu soruna bir çözüm getirdik.  Bu saldırıların kaynağı belli ama konumuza dönelim.

Bu saldırı engellemek için php ile geliştirilmiş ufak bir kod parçası var , bu kod parçası ile örneğin bir kişinin 10 saniyede gezebileceği sayfa sayısını koyuyorsunuz ve 10 saniye içinde 10 kere sayfa gezip 11.ciye girerken ufak bir yazı çıkartıyor "Adresinizden yuksek baglanti geldigi icin suan engelledik. Bir kac saniye sonra tekrar dene" şeklinde ancak bu yazıyı dilediğiniz şekilde değiştirebiliyorsunuz ve 10 saniye sonra geri eski halini görebiliyor.
Bu bu eklentiyi uygulamak için gerekli Php kodlarını aşağıda vereceğim. Kodları dosyaları ftp'den çekip <?php tagından sonra hemen 1 satır aşağısına ekliyoruz.

session_start();
/*
Kodlayan : Ahmet Burak DEMIRKOPARAN
### www.ahmtbrx.com x Yerine K Ekleyin. ###
*/
header("content-type: text/html; charset=utf-8");
if(!isset($_SESSION['ilk_zaman'])){
$_SESSION['ilk_zaman'] = time();
}else{
$_SESSION['giris']++;
}
if($_SESSION['giris']>=3 && (time() - $_SESSION['ilk_zaman']<5)){
die("Adresinizden yuksek baglanti geldigi icin suan engelledik. Bir kac saniye sonra tekrar dene");
}else if((time() - $_SESSION['ilk_zaman'])>=5){
$_SESSION['ilk_zaman'] = time();
$_SESSION['giris'] = 0;
}

Yeşil olan yere kırmızı alanda belirlediğimiz: örneğin 3 saniyede 5 bağlantı şeklinde editleyeceksiniz. Mor olan yerede limiti aşğınında engelleneceği süre , sarı yere ise engel mesajını yazıp sunucuya göndereceksiniz. F5 yaparak çalışıp çalışmadığını deneyebilirsiniz.

6 Kasım 2012 Salı

Php İle Flood Engelleme



 Merhaba arkadaşlar ,
Gün geçtikçe büyüyen siteler ve büyüdükçe düşmanı artan siteler/bloglara çeşitli floodlarda saldırı düzenlenmekte ve bu saldırılar mysqlye bilgi göndererek load artırıyor yavaşalama ve açılmamalar oluyor. Şimdi sitemize bağlantı sınırı koyarak bu saldırıları engellemeye çalışacağız. Bu kod 1 saniye içinde 10 bağlantı gönderiyor ise 5 saniye olarak onu banlayacağız ve 5 saniye sonra yeniden girebilecek.


İlk olarak her sayfada görünmesi için forumlarda global.php ya da config dosyalarına ekleyebilirsiniz. İndex.php ye eklerseniz sadece ana sayfada gözükür. Ben bunu hemen hemen her sitemde kullanırım.

Kurulum 

Yukarıda saydığım php dosyalarındna birini açıp "<?php" tagından 1 aşağı satıra bu kodları yapıştırıyoruz. -Kodları Göster- kayıt edip sitemize gelir 3 saniye boyunca F5 tuşuna basılı tutuyoruz sizi 5 saniye engelliyor :)    Kodlarla oynama yaparak kaç bağlantı ve ya saniyede engelleyeceğimizi yazabiliriz.
Bu şekilde sitenizi koruyabilirsiniz.

Yapamayanlara ve ya sorusu olanlara elimden geldiğimce yardımcı olacağım.