PHP ile resimli doğrulama sistemi yapımı / Captcha
Merhaba arkadaşlar bu yazımızda php ile kendi captcha uygulamamızı yapıyoruz yani resimli doğrulama sistemi.Google captcha kullandım güvenlik olarak iyi ama kullanıcıyı bezdiriyor şahsen ben bile bir sitede görünce soğuyorum. Sonuç olarak yorum yapılacağı zaman,siteye giriş yapılacağı zaman vs. banka güvenlik sistemi gibi bir güvenlik sistemi kullanmaya gerek yok bence bu kodlar fazlasıyla işimizi görecektir.Sistem nasıl çalışıyor;rasgele 4 haneli bir sayı oluşturuyor ve resim olarak gösteriyor yani kopyalanmıyor kodlar elle yazmak lazım.forma bu sayıları yazıp doğrulamamızı istiyor.Yapamayan olursa veya başka sorusu olan olursa yorum olarak sorabilirler.İyi çalışmalar.
captcha.php
<?php
session_start();
$code
=rand(1000,9999);
$_SESSION
[
"code"
]=
$code
;
$im
= imagecreatetruecolor(50, 24);
$bg
= imagecolorallocate(
$im
, 22, 86, 165);
//arkaplan rengi mavi
$fg
= imagecolorallocate(
$im
, 255, 255, 255);
//yazı rengi beyaz
imagefill(
$im
, 0, 0,
$bg
);
imagestring(
$im
, 5, 5, 5,
$code
,
$fg
);
header(
"Cache-Control: no-cache, must-revalidate"
);
header(
'Content-type: image/png'
);
imagepng(
$im
);
imagedestroy(
$im
);
?>
index.html
<
html
>
<
head
>
<
title
>Test Form</
title
>
</
head
>
<
body
>
<
form
action
=
"validate.php"
method
=
"post"
>
Resimdeki kodu yazın!
<
input
name
=
"captcha"
type
=
"text"
>
<
img
src
=
"captcha.php"
/><
br
>
<
input
name
=
"submit"
type
=
"submit"
value
=
"Doğrula"
>
</
form
>
</
body
>
</
html
>
dogrula.php
<?php
session_start();
if
(isset(
$_POST
[
"captcha"
])&&
$_POST
[
"captcha"
]!=
""
&&
$_SESSION
[
"code"
]==
$_POST
[
"captcha"
])
{
echo
"Kodu doğru yazdınız"
;
//Yazılan kod doğru ise burdaki kodlar çalışacak
}
else
{
die
(
"Kodu hatalı yazdınız."
);
}
?>
Yorumlar
Yorum Gönder