PHP Basit Güvenlik Kodu – Captcha
Artık botların ziyaretçilerden daha fazla trafik oluşturduğu zamanda, gerek güvenlik gerekse ileri düzeyde olmayan gerçek kullanıcıyı anlama açısından başta iletişim formu olmak üzere, yorum yapma bölümlerini göndermeden önce doğru girilmesi zorunlu olan Güvenlik Kodu uygulamasını kullanmamız zorunlu hale gelmiştir.
İlk önce size güvenlik kodu mantığını daha sonra da uygulamalı olarak kodlama yapısından bahsedeceğim.
Güvenlik kodu mantığı, dinamik olarak kullandığınız yazılım dilinde oturum değişkenine aktarılarak, oluşturulan rastgele resim ve/ya yazıdan oluşan karakterler bir resme dönüştürülüp kullanıcıya formda gösterip, ziyaretçinin girdiği değerle önceden oturum değişkenine aktarılan değerin eşit olup olmaması karşılaştırılarak doğruluğunu sağlamaktır.
PHP dilinde yazacağımız basit güvenlik kodu uygulamasının örnek olarak aşağıdaki sayfadan görebilir, kodlama yapısını indirebilirsiniz.
PHP Güvenlik Kodu Uygulaması Örnek Sayfa – İlgili sayfanın kodlama yapısı
<?php header("Content-Type: text/html; charset=UTF-8"); session_start(); ?> <!DOCTYPE HTML> <html> <body> <?php if ( isset($_POST['guvenlikKodu']) && $_POST['guvenlikKodu'] ){ $guvenlikKontrol = false; if ( $_POST['guvenlikKodu'] == $_SESSION['guvenlikKodu'] ){ $guvenlikKontrol = true; } if ( $guvenlikKontrol ){ echo 'Güvenlik resmi doğru!'; } else { echo 'Güvenlik resmini yanlış girdiniz!'; } } ?> <br /> <form action="http://www.vyz.gen.tr/uygulamalar/php/guvenlik-kodu/" method="POST"> <label for="guvenlikKodu">Güvenlik Kodunu Giriniz: </label> <input type="text" name="guvenlikKodu" id="guvenlikKodu" required /> <br /> <img src="http://www.vyz.gen.tr/uygulamalar/php/guvenlik-kodu/guvenlik-kodu.php" /> <br /> <input type="submit" value="Gönder" /> </form> </body> </html>
Not: Oturum yani $_SESSION değişkenleriyle işlem yaptığından session_start() komutunu eklemeyi unutmayınız.
burada dediğini yaptım herşey tamam ama resim gösterilemiyor yerine hata iconu çıkıyor resim yoluna bak dediğimde
http://www.site.com/guvenlik/guvenlikkodu.php” grafik dosyası hatalı olduğu için gösterilemiyor.
yazıyor acaba bunu çözümü varmı ?
Dosyanın yolunda eğer bir sorun yoksa arial.ttf olan yazı fontunu kontrol edin isterseniz ya da büyük ihtimal hosting hizmetinizinle alakalı olacaktır.
Hostingle ilgili hocam çalışıyor yoksa eline sağlık.
merhabalar sıteme yukledım her serınde dogru gırdıgım halde guvenlık resmı yanlıs gırdınız dıyor nedenı nedır acaba
Oturum değişkeniyle alakalıdır büyük ihtimal.
Dosyanızın başlangıcında session_start() komutunuyla oturumu açıyor musunuz acaba?
İyi Akşamlar Hocam Ben Bir İletişim Formu Üzerine Güvenlik Uygulaması Yaptım. Sorum Şu Güvenlik Kodu Doğru Girildiğinde, Veriler Veri tabanına Nasıl Gidecek? Kod Doğru Yazısı Çıkıyor. Peki Verileri Nasıl Yollarım
Bu kısım veritabanıyla alakası yok oluşturulan güvenlik kodu session değerine yazılıyor.
elinize sağlık güzel bir blog, güzel bir paylaşım.