DDOS attack-a qarşı məsləhət.

Mənim saytımın bir dənə səhifəsini açmaq üçün məlumat bazasında 50-dən çox sorğu aparılır. Və hansısa bir proqramla saytıma dəfələrcə ard-arda giriş olunsa, server dayanır. Son iki gündü server açılmırdı. access log-a baxdım və bir dənə İP adressin 10 saniyə ərzində 641 sorğu göndərdiyini gördüm. Dərhal DDOS attack-a qarşı PHP-də proqram yazdım. Proqram əsl işləyir, cookie-dən, sessiondan, mysql-dən asılı deyil. Amma bu proqramdə fərq ondadır ki, bir saniyə üzrə yox, bir dəqiqə üzrə neçə sorğu göndərmək olar onu qeyd etməlisən. Sizcə normal bir insan, bir dəqiqə ərzində serverə neçə dənə sorğu göndərə bilər? Məsələn biz google-a girəndə neçə dənə sorğu göndəririk (statik faylları endirmək üçün yox)? Yazdığım proqram yalnız serverside olan skriptlərdə İP adressi qeyd edir. İstifadəçi statik faylları download edəndə IP adress-i qeydə alınmır. Yalnız PHP faylları açanda İP adressi qeydə alınır.

Verilmiş cavablar və yazılan şərhlər (3 cavab var)

Ayxan (2015-03-15 10:16:55)
Məndə elə etmişəm. Amma yenə də serveri çökdürə bilirdi bu uşaq. Sonra ban eləməyi PHP-dən yox, nginx-dən elədim düzəldi. Daha heç nə edə bilmir

Meherremoff (2015-02-18 10:26:38)
Bir ip-dən olduğu üçün artıq bu tam olaraq DDOS yox, sadəcə DDOS-un ən yüngül variantı olan HTTP FLOOD adlanır. Adətən uşaq-muşaq işidir. Bunun qarşısını isə çox sadə mexanizmlə almaq olar. Sadəcə sessiyalarla 4-5 sətir kod lazımdır. Müəyyən saniyə intervalında max. sorğu limiti qoymaq olar. Məsələn, 1 ip-dən 5 saniyə ərzində 4-dən çox sorğu gələrsə atırıq Qara siyahıya və ya 20-30 saniyəlik blok edirik.

E. Hacı (2015-02-03 15:30:38)
İstifadəçi sayta girəndə veb server səviyyədə 1 sorğudur bu. Hər müraciət = 1 sorğu. Mysql isə bir dəfəyə çox ola bilər, bu saytın kodundan asılıdır. DDOS adətən PHP yox, hətta veb server də yox, birbaşa server səviyyəsində alınır. Anti DDOS servislər çoxdur,server mütəxəssisləri qura bilər sizdə, və ya özünüz öyrənə bilərsiz. PHP və veb server səviyyədə isə brute force, bot aktivliyi və.s. qarşısını almaq məqsədəuyğundur

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

PHP_Send Mail

İd nömrə ilə sertifikat məlumatı formu PHP

Səhifə yenilənmədən daima artıb azalan rəqəmi ekranda göstərmək

php $this ilə bağlı sual

Python yoxsa PHP?

a elementindən js ilə data götürmək