Spamdan qorunmaq
Spamdan qorunmağın ən etibarlı yolu təhlükəsizlik kodudur (Captcha-Completely Automated Public Turing test to tell Computers and Humans Apart)
Təhlükəsizlik kodu nədir?
Təhlükəsizlik kodu bir əməliyyatın həyata keçirilməsi üçün sistemin istifadəçiyə verdiyi gizli kodu qutuya yazdıraraq keçid aldığı bir sistemdir
Təhlükəsizlik kodunu şəkilsiz yığmaq heç bir fayda verməz çünki səhifənin qrabını yığıb yalnız həmin kodu saxlayıb spama qoşa bilərlər
Bəs necə edək sistem təhlükəsiz olsun?
Bunun üçün kodu şəkil üzərinə vurmalıylq bu zaman Html kodlar həmin kodu oxuya bilməz
İlk öncə serverimizdə bir shekil.php yaradaq və Aşağıdakı kodları yazaq
<?php session_start(); //kodu digər səhifəyə ötürmək üçün header("Content-Type: image/png"); //şəkil səhifəsi üçün $im = @imagecreate(170, 20) or die("Səkil Yaranmadı"); // şəklin ölçüləri $addim="Ilkaddimlar.Com"; // yazi $background_color = imagecolorallocate($im, 0, 0, 0); $text_color = imagecolorallocate($im, 233, 14, 91); // rəng imagestring($im, 10, 20,5, $addim, $text_color); //şəklə yazmaq imagepng($im); // png şəkil imagedestroy($im); // rəsmin sonlanması ?>
Nümunə :
Şəklin üzərinə İlkaddimlar.Com yazildi indi isə sistemimizi quraq
str_shuffle istifadə edərək kodlar yazaq
$addim=str_shuffle("abcdefghjkmnopqrstuvwxyz0123456789");
$addim= substr($addim,0,5); //5 hərfli kod üçün
<?php session_start(); //kodu digər səhifəyə ötürmək üçün header("Content-Type: image/png"); //şəkil səhifəsi üçün $im = @imagecreate(170, 20) or die("Sekil Yaranmadi"); // şəklin ölçüləri $addim=str_shuffle("abcdefghjkmnopqrstuvwxyz0123456789"); $addim= substr($addim,0,5); //5 hərfli kod üçün $background_color = imagecolorallocate($im, 0, 0, 0); $text_color = imagecolorallocate($im, 233, 14, 91); // rəng imagestring($im, 10, 20,5, $addim, $text_color); //şəklə yazmaq imagepng($im); // png şəkil imagedestroy($im); // rəsmin sonlanması ?>
Hər yeniləmədə kod dəyişir İndi digər səhifəyə qoşaq kodumuzu ancaq ilk öncə bu səhifədən kodu digər səhifəyə göndərmək kodunu yazaq
<php session_start(); //kodu digər səhifəyə ötürmək üçün header("Content-Type: image/png"); //şəkil səhifəsi üçün $im = @imagecreate(170, 20) or die("Sekil Yaranmadi"); // şəklin ölçüləri $addim=str_shuffle("abcdefghjkmnopqrstuvwxyz0123456789"); $addim= substr($addim,0,5); //5 herfli kod üçün $_SESSION['deyer']=$addim; $background_color = imagecolorallocate($im, 0, 0, 0); $text_color = imagecolorallocate($im, 233, 14, 91); // rəng imagestring($im, 10, 20,5, $addim, $text_color); //şəklə yazmaq imagepng($im); // png şəkil imagedestroy($im); // rəsmin sonlanması ?>
sekil.phpnin kodlari bu qədərdir
Digər səhifənizə isə kodlara baxaraq qura bilərsiniz
<html> <head> </head> <body> <?php session_start(); if(@$_POST){ if(empty(@$_POST['kod'])){ echo"Kodu Boş buraxmaq olmaz !"; }else{ $kod=@$_POST['kod']; $gkod=@$_SESSION['deyer']; if($kod!=$gkod){ echo"Təhlükəsizlik kodu Yanlışdır !"; } } } ?> <form action="" method="POST"> Adınız: <input name="ad"> Şərhiniz: <input name="sherh"> Təhlükəsizlik kodu : <img src="sayt.php"> Kodu Daxil edin ! <input name="kod"> <input type="submit" value="Gonder"> </body> </html>
Gördüyümüz kimi Sistem işləyir