Php Güvenlik Kodu Resimli
Güvenlik kodu önlemi eğer flood güvenliğiniz yoksa kurmanız gereken bir önlemdir arkadaşlar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<? session_start(); // Session baslatiyoruz if($_GET['act']=='ok'){ // get ile gelen 'act' verisi esitse 'ok' a if($_POST['SecInput']==$_SESSION['Sec'] && !$_POST['SecInput']==''){ // post ile gelen SecInput esitse Sec isimli sessionuna echo 'guvenlik kodu dogru'; // guvenlik kodu dogrudur islemleri burada yapabiliriz }else{ // SecInput esit degilse Sec isimli sessionuna echo 'guvenlik kodu yanlis<br><a href='.$_SERVER['HTTP_REFERER'].'>geri</a>';// guvenlik kodu yanlis geri don diyoruz session_unset(); } }elseif($_GET['s']=='img'){ $y = 60; // kodun yazacagı resmin genişliği $g = 20; // kodun yazacagı resmin yüksekliği $code = imagecreate($y, $g); // kodun eklenegeci resmin özellikleri $bgc = imagecolorallocate($code, 0, 0, 0); // kodun yazacagı resmin rengi $tc = imagecolorallocate($code, 255, 255, 255); // kodun rengi imagefill($code, 0, 0, $tc); imagestring($code, 3, 10, 3, $_SESSION['Sec'], $bgc); header("Content-Type: image/gif"); imagejpeg($code); // resim oluşturuluyor. imagedestroy($code); // resmin üzerine kod ekleniyor. } else{ session_unset();// eski session varsa siliyoruz $SecCode = substr(md5(rand(0,999)),0,6);// guvenlik kodumuzu olusturmak icin 0 ile 999 arasi rastgele sayi olusturduk sayiyi md5 yaptik ve ilk 6 karakterini aldik ve $SecCode degisgenine esitledik $_SESSION['Sec']=$SecCode; // Sec isimli sessiona da guvenlik kodumuzu esitledik echo '<b>Guvenlik kodu:</b> <img src='.$_SERVER['PHP_SELF'].'?s=img><form action="'.$_SERVER['PHP_SELF'].'?act=ok" method="POST"> <input type="text" name="SecInput" /> <input type="submit" value="OK"></form>'; // ekrana guvenlik formu bastik, guvenlik kodunun yazilacagi inputa SecInput ismini verdik form action POST kullandik } ?> |
güvenlik kodumuz doğru girildiği zaman güvenlik kodu dogru eğer yanlış ise güvenlik kodu yanlış ve geri dön linki gelerek geri dönme işlemi yapılıyor.