|
|
| |||
| Web siteleri ile uğraşan herkes Captcha'yı duymuştur sanırım. Spam botlardan korunmak için en etkili yollardan biri.. Şimdi web sitelerimizin ziyaretçilerinin işini biraz kolaylaştırması açısından Ajax yardımı ile bir Captcha doğrulaması yapalım Bu doğrulamada resimdeki karaktarlerin yanlış girilmesi durumunda form gönderilmeden önce bir uyarı çıkmasını sağlayacağız. Örnek için : Ajax Captcha yı inceleyebilirsiniz. güvenlik kodunu yanlış girerek scriptin amacını görebilirsiniz. Önce anasayfamızı yapalım; HTML-Kodu: <html> <head> <title>Ajax Captcha</title> <script language="JavaScript"> var url = 'captcheck.php?code='; var captchaOK = 2; // 2 - kontrol edilmedi, 1 - doğru, 0 - yanlış function getHTTPObject() { try { req = new XMLHttpRequest(); } catch (err1) { try { req = new ActiveXObject("Msxml12.XMLHTTP"); } catch (err2) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (err3) { req = false; } } } return req; } var http = getHTTPObject(); // HTTP objesini yarattık function handleHttpResponse() { if (http.readyState == 4) { captchaOK = http.responseText; if(captchaOK != 1) { alert('Girdiğiniz kod yanlıştır. Tekrar deneyin'); document.myform.code.value=''; document.myform.code.focus(); return false; } document.myform.submit(); } } function checkcode(thecode) { http.open("GET", url + escape(thecode), true); http.onreadystatechange = handleHttpResponse; http.send(null); } function checkform() { // İlk önce form doğrulaması if(document.myform.req.value=='') { alert('lütfen gerekli alanları doldurun'); document.myform.req.focus(); return false; } if(document.myform.code.value=='') { alert('Lütfen resimdeki kodu girin'); document.myform.code.value=''; document.myform.code.focus(); return false; } // Ajax captcha doğrulaması checkcode(document.myform.code.value); return false; } </script> </head> <body> <form action="landing.php" method="post" name="myform"> <table> <tr><td>Gerekli Alan:</td> <td><input type="text" name="req" value=""></td></tr> <tr><td>Opsiyonel Alan:</td> <td><input type="text" name="opt" value=""></td></tr> <tr><td>Captcha Resmi:</td> <td><img src="captcha.php" border="0"></td></tr> <tr><td> Kod Doğrulama:</td> <td><input type="text" name="code" value=""></td></tr> <tr><td></td> <td> <input type="submit" value="Formu Gönder" onclick="return checkform()"></td> </tr> </table> </form> </body> </html> Bu konu ile içli dışlı olanlar yukarıdaki kodların çoğunu biliyorlardır zaten. Bu formda en önemli bölüm checkform() kısmıdır. checkform() ile form uygunluk işlemlerini (eksik alan) kontrol ettirebiliyoruz. Tüm bu kontrollerden sonra checkcode(). ile de resimdeki kodumuzun doğru olup olmadığına bakabiliyoruz. Resimdeki kod captcheck.php?code={resimdeki kod } ile captcheck.php adresine gönderiliyor ve kontrol ediliyor. captcheck.php PHP- Kodu: Captcha.php ile ilgili detaya girmeyeceğim. Aşağıda yer yer basit bir şekilde açıkladım. Buada ekteki dosyada bulunan captcha.png arkaplanını ve whisky.TTF fontunu kullandım. PHP- Kodu: ![]() Kaynak : Tutorials, demos and projects in Ajax (XMLHTTPRequest) Programming Ajax ile Captcha DoÄŸrulaması | Ucan.Gen.Tr Konu doink tarafından (18-06-2007 Saat 22:16:26 ) değiştirilmiştir.. |
![]() |
| Bookmarks |
| Seçenekler | |
| |