Geniş Ekran Modu Otomatik Ekran Boyutu Font Boyutunu Azalt Font Boyutunu Azalt Font Boyutunu Normal Yap Yazdır

PHP’de Resim Doğrulama - Güvenlik Kodu

Son yıllarda üyelik formlarında, üyelik giriş sayfalarında, whois sorgularında, sipariş formlarında . Vs form işleminin gerçekleştiği tüm platformlarda güvenlik kodu / resim doğrulama işlemine rastlamış olmalısınız. Spam botları ve saldırılar gibi sebeplere ayrılsada temel amaç kötü niyetli kullanıcılar/kişilerden korunmada ek bir önlem daha almaktır. Animated Captcha (Hareketli resim doğrulama ) yazısından sonra gelen talep üzerine bilinen resim doğrulama uygulamasına bir örnek sunma gereği gündeme geldi. Örneklemenin daha net anlaşılması için resmi oluşturma, form doldurma ve sonuç basma sayfaları ayrı yapılmıştır. Bu örneği sitenizde çalıştırmak için GD desteğinizin olması gerekmektedir. phpinfo() çıktısında görebilirsiniz. Konsol erişimi olan arkadaşlar php -m komutunu uygulayarak GD modulu kontrol edebilirler

www.dijitalders.com

Form Sayfası : index.php
-------------------------------------------------------------
<!-- Tarayıcı ön belleğinde tutulmaması için no-cache -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//TR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="TR" lang="tr">
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<title>wmturk.net - Resim doğrulama uygulamasına ait demo</title>
 
<form method="post" action="sonuc.php"> Dogrulama Kodu: <img src="img.php" height="25" width="75" />Doğrulama Kodunu Giriniz: <input size="6" maxlength="6" name="kod" type="text" />
 
<input value="Test et" type="submit" />
</form>
</body>
</html>

Resim Oluşturma Sayfası: img.php
---------------------------------------------------------------------------------

<?
/* Olusturulan kodu diger sayfalara tasiyabilmemiz icin oturum baslatiyoruz.
0-999 araliginda bir sayi olusturup bunu md5 ile sifreliyoruz.
*/
$md5yap=md5(rand(0,9999));
 
//md5 ile sifrelenen sayimizin uzunlugu 32 karakter olacaktir. Biz 6 karakterli alacagiz.
$dogrulamakodu = strtoupper(substr($md5yap, 8, 6));
 
//Dogrulama icin kullanicak kodumuzu acilan oturuma kaydediyoruz.
$_SESSION["dogrulamakodu"] = $dogrulamakodu;
 
//Resim boyutlari belirleniyor
$en = 75;
$boy = 25;
 
//Uzerinde calisacagimiz resim olusturuluyor.
$image = ImageCreate($en, $boy);
 
//Beyaz,Siyah ve Kirmizi renkler olusturuyoruz. Rakamlar renkleri ifade etmektedir.
$beyaz = ImageColorAllocate($image, 255, 255, 255);
$siyah = ImageColorAllocate($image, 0, 0, 0);
$kirmizi = ImageColorAllocate($image, 242, 0, 0);
 
//Arka plani beyaz yapiyoruz
ImageFill($image, 0, 0, $beyaz);
 
//Olusturulan dogrulama kodunu resime yaziyoruz.
ImageString($image, 6, 9, 5, $_SESSION["dogrulamakodu"], $siyah);
 
//Gorunumu biraz karistirmak icin cizgilerle gorunumu zorlastiriyoruz.
//Dilerseniz imageline() satirlarini kaldirarak cizgileri yok edebilirsiniz.
imageline($image, 0, 2, $en, 2, $kirmizi);
imageline($image, 0, 25, $boy, 0, $kirmizi);
imageline($image, $en, $boy, 40, 0, $kirmizi);
imageline($image, 0, 23, $en, 23, $kirmizi);
 
// Tarayiciya dosyamizin tipini yolluyoruz.
header("Content-Type: image/jpeg");
 
//Resmimizi Jpg formatinda basiyoruz.
ImageJpeg($image);
 
//Bir kereye mahsus kullanacagimiz icin siliyoruz.
ImageDestroy($image);
exit();

?>

Sonuç Sayfası: sonuc.php
------------------------------------------------------------------------
<?
// Eger form doldurulmussa
if( isset($_POST['kod']) ){
if( strtoupper($_POST['kod']) == $_SESSION['dogrulamakodu'] ){
<h4>Tebrikler, Doğru kodu girdiniz: <code>'.$_POST['kod'].'</code></h4>';
}else{
echo '<h4><code>'.$_POST['kod'].'</code>Hatali giris, tekrar deneyiniz. '.$_SESSION['dogrulamakodu'].'</h4>';
}
echo '<a href="index.php">Tekrar _fcksavedurl=""index.php">Tekrar" _fcksavedurl=""index.php">Tekrar" dene?</a>';
} else {
?>
<a href="index.php">Sadece post verileri ile calisan bir sayfadir. Giris sayfasina donebilirsiniz.?</a>
<?}?>

Bu içerikle ilgili henüz herhangi bir yorum yapılmamıştır. Bu içerikle ilgili Yorumunuzu eklemek için burayı tıklayınız.

Php Uygulamaları

Resimleeri Yeniden Boyutlandıran Fonksiyon Örneği
Resim işlemleriniz için kullanabileceğiniz bir fonksiyon örneği
Mysql Klası Kullanılarak Yapılan Öğrenci Kayıt Uyg...
Mysql bağlantısı ve veri tabanından istenen sonuçların yazdırılmasında klas mantığı kullanılmıştır.
Mysql Class
İhtiyaç duyulduğunda klası yüklyen, mysql bağlantısını klas çağrılınca yapan, klasın kullanımı bitin...
Mysql Tablo Verisi Çekme
Verilen tablo adına ve sütun başlıklarına göre sonuçları veri tabanından çeken uygulama
Class İle Yapılmış Bir Mysql Bağlantı Uygulaması
Kendini lazım olduğunda çağıran, exceptionlarla bağlantıyı ve kesmeyi kontrol eden ve çağrıldığında ...
Classlarla Yapılmış Bir Sayaç Örneği
Aynı ip numarası ve cookie değeri elde edildiğinde sayfa sayacını arttırmayan, farklı ip numaraların...
Class
İçerisinde extend, __construct, __destruct, __autoload, this, public, private, protected, static, co...
Kelime Tahmin Oyunu
Php'de cookiler ile yapılmış bir cookie oyunu
$_FILES
Upload, unlink, list
$_COOKIE
Kullanıcının bilgisayarında kalması istenen değişkenler için kullanılan bir yol
Cookie Uygulaması
Bir harf tahmin oyununun Cookilerle yazılması
Foreach Döngüsü
Dizilerde foreach kullanımı
MS word çıktısı almak
Php ile tabiki kendi fonksiyonlarını kullanarak doc uznatılı çıktıyı isemciye yollamak mümkün ama b...

    Ödev Gönder | İncelenmeyi Bekleyen Ödevler | Uygulama Resimleri | Uygulama Resmi Gönder | İnternet Üzerinden Sınav | Test Sorusu Gönder | Sınıf Karneleri | Anketler | Linkler
    www.dijitalders.com

    bilgidijitalders.com
    Bu sayfalar en iyi 1024 x 768 ekran çözünürlüğünde görüntülenir.
    Site içerikleri, site kullanıcıları tarafından yollanan içeriklerdir. Her hangi bir içeriğin lisanslı yahut şahsınıza ait olduğunu tarafımıza iletirseniz gerekli düzenlemeyi yapacağız. Kullanılan içerikler, siteyi kullanan öğrenciler ve araştırmacılar için kolaylık sağlamak amacıyla oluşturulmuştur.
    Sayfada HATA! Olduğunu Düşünüyorsanız | Sık Kullanılanlara Ekle | www.dijitalders.com'u Ana Sayfam Yap | Web Tasarımcıya e-Posta
    Bu site 150,591 kişi tarafından ziyaret edilmiştir.