PHP – Toplama işlemi ile güvenlik kodu scripti

PHP Script
Php ile mail gönderme scriptini hazırlarken kullandığım çok basit bir güvenlik önlemi. Spam mailcileri ve botları engellemek için kullanılan rastgele rakam ve harf kombinasyonlarından oluşan captcha scriptlerine alternatif, kullanımı ve uyarlaması oldukça basit, sade bir script.

Bu script ile ziyaretçilerinize basit bir toplama işleminin sonucunu soracaksınız, yanıt doğru ise yapılmak istenen işleme izin verilecek ve bu eylemin kontrolleri session sayesinde yapılacak.

PHP – Toplama işlemi ile güvenlik kodu scripti
İşe ilk olarak login.php ve islem.php isimli iki sayfa oluşturarak başlıyoruz. login.php içinde 1 ile 9 arasında tek haneli iki adet rastgele sayı oluşturup, bunları birbiriyle topluyor ve ziyaretçiye form içinden bir input ile sonucu soruyoruz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
session_start();

// Güvenlik kodu için rastgele 2 sayı üretiliyor
    $sayi1 = rand(1,9);
    $sayi2 = rand(1,9);

// Bu sayıların toplamı alınıyor
    $toplam_sayi = $sayi1+$sayi2;

// Toplam sayı güvenlik kodu olarak sessiona atanıyor
    $_SESSION['guvenlik_kodu'] = "$toplam_sayi";

// Form oluşturuluyor
echo '
<form action="islem.php" method="POST">
    Adınız: <input type="text" name="isim"><br>
    Güvenlik kodu: '
.$sayi1.' + '.$sayi2.' = <input type="text" name="guvenlik_kodu" autocomplete="off" size="4"><br>
    Yukarıdaki işlemin sonucunu yandaki kutucuğa giriniz.<br>
    <input type="submit" value="Gönder">
</form>'
;

bu sayfayı tamamladıktan sonra sıra formu karşılayacak olan islem.php de

1
2
3
4
5
6
7
8
9
10
11
session_start();

// Güvenlik kodu kontrol ediliyor
if($_SESSION['guvenlik_kodu'] != $_POST['guvenlik_kodu']) {
    echo '<span class="hata"><b>Hata:</b> Güvenlik kodunu hatalı girdiniz! Lütfen tekrar deneyiniz. <br><a href="javascript:history.go(-1)">Geri dön</a> ';
    die(); }

else {
    // Güvenlik kodu doğru ise yapılacak işlemler
     echo 'Girilen güvenlik kodu doğru.<br><br> Post ile taşınan değer: '.$_POST['isim'].'';
}

Hepsi bu kadar. Artık nur topu gibi bir güvenlik önleminiz var.

Scriptin çalışan örneği:
Demo

Script dosyalarını indir:
Download

Facebook Yorumları

4 Yorum

  1. Dr.W.Bishop

    MErhaba çalışmanız için teşekkürler…ufak bir sorum olucak..

    bu korumayı form entegre etiğimiz zaman forum içeri ile nasıl doğrulama yapabilirim…

    demo daki gibi isim yazlmadığı zamanda gönderim yapılmasın bu nun gibi…

  2. hmmrdnce

    aynı sayfada yapmak istiyorum ama göndere basınca aynı sayfada session yeni değer alıyor bu yüzden hep güvenlik kodu yanlış çıkıyor bunun bir çözümü var mı?

Uyarı: Yorumlarda link kullanmayınız. Link içeren yorumlar otomatik olarak spam kabul edilmektedir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir