Php Ile Doğrulama Kodu Yapımı

Php Ile Doğrulama Kodu Yapımı 3.5 473

Php Ile Doğrulama Kodu Yapımı Google Konumu

Php Ile Doğrulama Kodu YapımıPHP ile form’larınıza özel güvenlik yapabilirsiniz. Yapılışı gayet basittir. Pek çok internet sitesinde buna benzer görsel doğrulama kodu örnekleride görüyoruz. Örnek olarak bir kayıt formunu yapalım, formu’n tamamını doldurduktan sonra sizlere görsel bir sayı, yazı çıkar veya hem sayı hem harflerden meydana gelen karışık bir resim çıkar bu resmi form da boş bir alana yazdıktan sonra işlemi başlatabiliyoruz. Eğer girmemişsek form’u yeniden doldurmamız gerekmektedir. 🙂

Hemen görsel doğrulama kodumuzu yapmaya başlayalım, ilk önce

Captcha.php

[php]<?php
session_start();
$ranStr = md5(microtime());
$ranStr = substr($ranStr, 0, 6);
$_SESSION[‘cap_code’] = $ranStr;
$newImage = imagecreatefromjpeg("cap_bg.jpg");
$txtColor = imagecolorallocate($newImage, 0, 0, 0);
imagestring($newImage, 5, 5, 5, $ranStr, $txtColor);
header("Content-type: image/jpeg");
imagejpeg($newImage);
?>[/php]

Captcha için doğru mu yoksa doğru değil mi mantığı kavrayalım.

[php]<?php
if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’)
{
if ($_POST[‘captcha’] == $_SESSION[‘cap_code’])
{
// Captcha verification is Correct. Do something here!
}
else
{
// Captcha verification is wrong. Take other action
}
}
?>[/php]

İndex.php

[php]<?php
session_start();
$cap = ‘notEq’; // This php variable is passed to jquery variable to show alert
if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’)
{
if ($_POST[‘captcha’] == $_SESSION[‘cap_code’])
{
// Captcha verification is Correct. Do something here!
$cap = ‘Eq’;
}
else
{
// Captcha verification is wrong. Take other action
$cap = ”;
}
}
?>
<html>
<body>
<form action="" method="post">
<label>Name:</label><br/>
<input type="text" name="name" id="name"/>
<label>Message:</label><br/>
<textarea name="msg" id="msg"></textarea>
<label>Enter the contents of image</label>
<input type="text" name="captcha" id="captcha" />
<img src=’captcha.php’ />
<input type="submit" value="Submit" id="submit"/>
</form>
<div class="cap_status"></div>
</body>
</html>[/php]

Javascript Dosyamız

[code lang=”js”]<script type="text/javascript" src="http://ajax.googleapis.com/
ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$(‘#submit’).click(function()
{
var name = $(‘#name’).val();
var msg = $(‘#msg’).val();
var captcha = $(‘#captcha’).val();
if( name.length == 0)
{
$(‘#name’).addClass(‘error’);
}
else
{
$(‘#name’).removeClass(‘error’);
}
if( msg.length == 0)
{
$(‘#msg’).addClass(‘error’);
}
else
{
$(‘#msg’).removeClass(‘error’);
}
if( captcha.length == 0)
{
$(‘#captcha’).addClass(‘error’);
}
else
{
$(‘#captcha’).removeClass(‘error’);
}
if(name.length != 0 && msg.length != 0 && captcha.length != 0)
{
return true;
}
return false;
});
var capch = ‘<?php echo $cap; ?>’;
if(capch != ‘notEq’)
{
if(capch == ‘Eq’)
{
$(‘.cap_status’).html("Your form is successfully Submitted ").fadeIn(‘slow’).delay(3000).fadeOut(‘slow’);
}
else
{
$(‘.cap_status’).html("Human verification Wrong!").addClass(‘cap_status_error’).fadeIn(‘slow’);
}
}
});
</script>[/code]

Css Dosyamız

[css autolinks=”false” classname=”myclass” collapse=”false” firstline=”1″ gutter=”true” highlight=”1-3,6,9″ htmlscript=”false” light=”false” padlinenumbers=”false” smarttabs=”true” tabsize=”4″ toolbar=”true” title=””]body{
width: 600px;
margin: 0 auto;
padding: 0;
}

#form{
margin-top: 100px;
width: 350px;
outline: 5px solid #d0ebfe;
border: 1px solid #bae0fb;
padding: 10px;
}

#form label
{
font:bold 11px arial;
color: #565656;
padding-left: 1px;
}

#form label.mandat
{
color: #f00;
}

#form input[type="text"]
{
height: 30px;
margin-bottom: 8px;
padding: 5px;
font: 12px arial;
color: #0060a3;
}

#form textarea
{
width: 340px;
height: 80px;
resize: none;
margin: 0 0 8px 1px;
padding: 5px;
font: 12px arial;
color: #0060a3;
}

#form img
{
margin-bottom: 8px;
}

#form input[type="submit"]
{
background-color: #0064aa;
border: none;
color: #fff;
padding: 5px 8px;
cursor: pointer;
font:bold 12px arial;
}

.error
{
border: 1px solid red;
}

.cap_status
{
width: 350px;
padding: 10px;
font: 14px arial;
color: #fff;
background-color: #10853f;
display: none;
}

.cap_status_error
{
background-color: #bd0808;
}[/css]

Kaynak: Bilgisever.net

13 Mayıs 2011
Okunma 473

Kaan Sever
http://www.bilgisever.net
Türkiye'nin en gelişmiş bilgi kaynaklarından biri olan Bilgisever.net'in kurucusuyum. Uzun zamandır bilgisever.net'de yazarlık yapıyorum. Web tasarımı, arayüz tasarımı ve programlama alanlarında bir hayli tecrübeliyim.
Php Ile Doğrulama Kodu Yapımı için 2 Yorum Yapılmış.

  1. lakapsız dedi ki:

    Tırnaklar vsvs hepsi iç içe girmiş kodu kopyaladığınız da karışıyor şunu adam gibi tek dosya halinde verseydinde millete eziyet etmeseydin keşke ?

  2. Johnf256 dedi ki:

    I think you have remarked some very interesting points , appreciate it for the post. gcfaafdeeeef

Yorumlarınız Bizim İçin Değerlidir.



Friendfeed
Delicious