Codeigniter — как сделать расчет капчи

Я хотел сделать расчет капчи, моя текущая капча только текст&код ввода числа, но он работает только потому, что этот код довольно сложен, поэтому я подумал сделать код безопасности проще для входа в систему, так как вид это (изображение здесь) что усложняет вход в систему (игнорируйте userdata для входа в систему и выделите строку, на которой есть капча, и, пожалуйста, скажите, если код слишком длинный, я постараюсь сделать его короче)

контроллер

public function index(){
$config = array(
'img_path'      => 'captcha_images/',
'img_url'       => base_url().'captcha_images/',
'img_width'     => '150',
'img_height'    => 50,
'word_length'   => 8,
'font_size'     => 16
);
$captcha = create_captcha($config);

// Unset previous captcha and store new captcha word
$this->session->unset_userdata('captchaCode');
$this->session->set_userdata('captchaCode',$captcha['word']);

// Send captcha image to view
$data['captchaImg'] = $captcha['image'];

$data['tampilan'] = $this->m_model->a('judul')->result();
$this->load->view('login',$data);
}

function aksi_login(){
$data = array('username' => $this->input->post('username', TRUE),
'password' => md5($this->input->post('password', TRUE))
);


$this->load->model('m_model'); // load model_user
$hasil = $this->m_model->cek_user($data);
if ($hasil->num_rows() == 1 && $this->input->post('submit')){
$inputCaptcha = $this->input->post('captcha');
$sessCaptcha = $this->session->userdata('captchaCode');
if($inputCaptcha === $sessCaptcha){
foreach ($hasil->result() as $sess) {
$sess_data['logged_in'] = 'Sudah Login';
$sess_data['id_user'] = $sess->uid;
$sess_data['username'] = $sess->username;
$sess_data['level'] = $sess->level;
$this->session->set_userdata($sess_data);
}


if ($this->session->userdata('level')=='1') {
redirect('admin');
}
elseif ($this->session->userdata('level')=='2') {
redirect('guru');
}
else {
redirect('welcome/salah');
}
}
else{
echo "captcha is wrong";
}
}
}

Посмотреть

<form action="<?php echo base_url()?>welcome/aksi_login" method="post" class="form">
<h4> Login </h4>

<inputtype="text" name="username" placeholder="username"/>

<input name="password" type="password" placeholder="Password"/>


<a href="<?php echo base_url()?>Welcome" class="refreshCaptcha" ><img src="<?php echo base_url().'asset/foto/refresh.png'; ?>"/></a>
<p id="captImg"><?php echo $captchaImg; ?></p>
<inputtype="text" name="captcha" placeholder="Captcha" />


<input type="submit" name="submit" value="Log in"/>

</form>

0

Решение

Вы можете сделать переменную 'word_length' => $var и на reCaptcha используйте меньшее число.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector