Php Flood Güvenliği
Evet arkadaşlar flood güvenliği devamlı mesaj atmayı engelleyen bir güvenlik önlemidir bu işlemi güvenlik kodu kullanarakda yapabiliriz fakat bu mantk daha uygundur.
Uygulama:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<? session_start(); mysql_connect("localhost","root","root"); $floodkontrol = "600"; //600sn yani 10 dk ?> <form action="" method="POST"> <input type="text" name="bilgi"> <input type="submit" value="Gönder"> </form> <? if ($_POST['bilgi']) { if (($_SESSION['kontrol']+$floodkontrol)>time()) { //Kontrol ediliyor echo ("10 dk geçmeden ikinci bir post gönderemezsiniz"); die(); } $bilgi=trim($_POST['bilgi']); $bilgi=strip_tags($bilgi); $xss_hile=array("<",">","'","\""); $xss_duzelt=array("&lt;","&gt;","\\'","\\\""); $bilgi=str_replace($xss_hile,$xss_duzelt,$bilgi); $ekle=mysql_db_query("database","insert into tablo (alan) values ('','$bilgi')"); $_SESSION['kontrol']=time(); //Kontrol başlangıcı. echo $bilgi. "başarı ile eklendi."; } ?> |
Burada yaptığımız işlemi kısaca anlatayım burada $floodkontrol değişkenine kaç dakikada bir yeni mesaja izin verilecek onu atadık.
Ondan sonra ilk attığımız mesajın zamanını aldık ve bizim belirlediğimiz vakti ekledik sonrada eger 2. mesajın gönderilme vakti toplamdan küçükse yollama büyükse yolla işlemini yaptırdık.
Diğer yerlerde ise orada yazdığım gibi hile olan işlemler vardır çift tırnak olayı filan onları engelleme yaptırdım güvenlik açısından. Onları otomatik olarak da engelleyebiliriz tabiki otomatik yapabilmek için bu sayfayı ziyaret edip gerekli komutları öğrenmeniz gerekiyor. En sonda ise ilk mesajımızın dakikasını attığımız 2. mesaj ile değiştiriyor ve tekrar işleme tabir tutuyoruz.