PHP Captcha Yapımı
PHP captcha yapımı, php ile captcha nasıl yapılır? php güvenlik kodu yapımı
Web sitelerinde veya bloglarda spam kötüye kullanımı veya formların otomatik olarak gönderilmesini önlemek için kullanılan captcha sistemi temel olarak bir kullanıcının robot mu yoksa insan mı olduğunu belirler ve rastgele bir dize olarak oluşturup oturumda saklar.
PHP'de resim ile CAPTCHA kodu oluşturmanın basit ve kolay yolu budur. Hazırsanız PHP Captcha yapımına başlayalım.
captcha.php
Burada öncelikle CAPTCHA koduna sahip oturum değişkenlerini aynı değeri tekrar etmeyecek şekilde ayarlıyoruz. Rastgele bir dize oluşturup, bir oturum değişkeninde saklıyoruz.
<?php
if(isset($_SESSION['captcha'])) {
unset($_SESSION['captcha']); //Oturum var ise yok et
}
session_start();
$str1 = "abcdefghijklmnopqrstuvwxyz";
$str2 = "1234567890";
$str = $str1.$str2;
$str = str_shuffle($str);
$rand = substr($str,0,5);
$_SESSION['captcha'] = $rand;
/* PHP Resim Oluşturma */
$myImg = imagecreate(100, 30);
$background = imagecolorallocate($myImg, 199, 144, 225); //Arkaplan rengi
$txtColor = imagecolorallocate($myImg, 245, 245, 245); //Yazı rengi
imagestring($myImg,12,25,8,$_SESSION['captcha'],$txtColor); //Resime captcha kodu ekle
header("Content-type: image/png");
imagepng($myImg); //Oluşturulan resmi görüntüle
imagedestroy($myImg); //Ayrılan belleği çıkar
?>
index.php
<?php
session_start();
if(isset($_POST['submit'])){
if($_SESSION['captcha']==$_POST['cap']){
echo "success";
}else{
echo "Captcha doğrulaması başarısız oldu! Tekrar deneyin"."<br>";
echo "Text is:".$_SESSION['captcha'];
}
}
?>
<form method="POST" action="index.php">
<input type="text" name= "cap" >
<input type="submit" name="submit">
</form>
<img src="captcha.php" id="captc">
<span onClick="newCaptcha();"><img src="reload.png" /></span>
JavaScript
<script type="text/javascript">
function newCaptcha(){
var img = document.getElementById("captc");
img.src="captcha.php";
}
</script>