pythontr.com
Captcha Nedir? Web üzerinden otomatik yapılan isteklere karşı alınan bir önlem yöntemidir. Bu yöntemi genellikle internet botlarına karşına alınır. Kullanım amacı aslında sayfa üzerinde işlem yapan kimsenin insan mı? yoksa robot mu olduğunu sistem tarafından tespit edilmesinde kullanılan basit bir yöntem diyerek özetleyebiliriz.
Yapacağımız örneğimizde PHP Codeigniter Frameworku için Captcha eklemesi yapmak. Zaten codeigniter üzerinde başlangıç seviyesini geçtiğinizi düşünerek kodları yazacam.
public function index() { $this->load->helper('captcha'); # kütüphanemezi load ediyoruz. $vals = array( 'img_path' => './captcha/', # bu klasörümüzü codeigniter frameworkumuzun içinde açıyoruz 666 yada 777 olarak izinlerini ayarlıyoruz. 'img_url' => base_url().'captcha/', 'font_path' => './system/fonts/texb.ttf', # uygulama için font belirliyoruz. 'img_width' => '150', # ölçülerini ayarlıyoruz. 'img_height' => 30, 'expiration' => 7200 ); $this->data['cap'] = create_captcha($vals); $this->form_validation->set_rules('captcha', 'CAPTCHA', 'trim|required|xss_clean|callback_GuvenlikKontrolu'); if ($this->form_validation->run() == FALSE) { $this->session->set_userdata('captcha_word',$this->data['cap']['word']); # bu kısım devamlı session değişmemsi için burada atama işlemini gerçekleştriyoruz. $this->load->view('temsilci/login',$this->data); } } #------------------------------------------------ # guvenlik kodu kontrolu function GuvenlikKontrolu($sValue) { if($sValue != $this->session->userdata('captcha_word')) { $this->form_validation->set_message('GuvenlikKontrolu', 'Girdiğiniz Güvenlik Kodu yanlıştır. Lütfen tekrar deneyiniz.'); return FALSE; } }
<form> <label for="captcha">Captcha:</label> <input class="txtInput" id="captcha" name="captcha" size="35" value="" type="text"><br> <?php echo form_error('captcha'); ?> <input type="submit" name="btnLogin" id="btnLogin" value="Sorgula" style="width:100px;float:right;" /> </form>
Yorumlar