Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 14 ноя 2018, 02:09

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 19 июл 2012, 02:04 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
Я потихоньку продвигаюсь. Вообще капча у меня выводится уже. Осталось реализовать проверку. Но что то все время false возвращает
Код:
var_dump($_POST['captcha']);
        var_dump(Captcha::valid($_POST['captcha']));
        if (isset($_POST['submit']))
       {
            if(Captcha::valid($_POST['captcha'])== TRUE)
            {
                //дальнейшие действия
            }
        }       

Вот что возвращает
Код:
string(4) "MJDV" bool(false)

Значение стринг, естественно, постоянно меняется. Если я правильно понимаю, то капча не проходит свою валидацию. Смотрел в модуле код, но я еще не на столько хорош в кохане, что бы понять причину этого. Помогите разобраться с этим


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 19 июл 2012, 02:32 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
Начала разбираться. Вот вставил вар_дамп в функцию, которая в сессию вставляет значение капчи(как я понял)
Код:
public function update_response_session()
   {
      // Store the correct Captcha response in a session
      Session::instance()->set('captcha_response', sha1(strtoupper($this->response)));
                var_dump(sha1(strtoupper($this->response)));
   }

В ответ ничего. Вообще пусто. Даже null нет

Код:
public static function valid($response)
   {
      // Maximum one count per page load
      static $counted;
               
      // User has been promoted, always TRUE and don't count anymore
      if (Captcha::instance()->promoted())
         return TRUE;

      // Challenge result
      $result = (bool) (sha1(strtoupper($response)) === Session::instance()->get('captcha_response'));
                var_dump(sha1(strtoupper($response)));
      // Increment response counter
      if ($counted !== TRUE)
      {
         $counted = TRUE;

         // Valid response
         if ($result === TRUE)
         {
            Captcha::instance()->valid_count(Session::instance()->get('captcha_valid_count') + 1);
         }
         // Invalid response
         else
         {
            Captcha::instance()->invalid_count(Session::instance()->get('captcha_invalid_count') + 1);
         }
      }

      return $result;
   }


Здесь возвращает string(40) "05c9647a2c8775940eab69577e1cefc9ccd3f3d4". Т.е. не проходит проверка в этой строке
Код:
$result = (bool) (sha1(strtoupper($response)) === Session::instance()->get('captcha_response'));


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 19 июл 2012, 18:23 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
Решил проблему с капчей. Дело было в том, что при создании капчи, ее значение не заносилось в сессию для последующей проверки.
Изменил Session::$default = 'cookie'; на Session::$default = 'native';
Теперь работает корректно basic, alpha, word
Math что то не хочет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 16 авг 2012, 00:12 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
Помогите. Как реализовать кнопку под капчей "обновить картинку", чтобы без перезагрузки страницы появлялась новая капча?

В контроллере:
Код:
$captcha = Captcha::instance('default');

    $content = View::factory('index/auth/v_auth_register')
            ->bind('captcha', $captcha)
            ->bind('errors', $errors)
            ->bind('data', $data);


В виде:
Код:
<div class="number-box">
    <div class="top-box">
        <?php echo $captcha; ?>
    </div>
    <span class="gray-text"><a href="#">Обновить картинку</a></span>
</div>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 19 авг 2012, 12:20 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
demyan112rv писал(а):
Помогите. Как реализовать кнопку под капчей "обновить картинку", чтобы без перезагрузки страницы появлялась новая капча?


AJAX


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 20 авг 2012, 01:51 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
Помогло http://wadya.pp.ua/2011/12/13/captcha-kohana/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 20 авг 2012, 02:26 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Да, там же в src картинки с капчей прописан путь до виджета вроде site.ru/captcha.
Просто перезабирать новую картинку по клику. Я на обычных сайтах (не кохана) просто время добавлял к адресу.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 09 окт 2012, 18:07 
Не в сети
Зеленый

Зарегистрирован: 09 окт 2012, 18:04
Сообщения: 1
Здравствуйте!
Проблема с отображением капчи. Путь генерируется, но почему-то не выводится изображение, просто пустая область.
Вот http://edem.kiev.ua кликните на "бронирование". Можете подсказать в чем проблема?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 14 ноя 2012, 23:57 
Не в сети
Зеленый

Зарегистрирован: 14 ноя 2012, 23:47
Сообщения: 1
demyan112rv писал(а):
Решил проблему с капчей. Дело было в том, что при создании капчи, ее значение не заносилось в сессию для последующей проверки.
Изменил Session::$default = 'cookie'; на Session::$default = 'native';


Блин! Что за нафиг. У меня уже на рабочем сайте Session::$default = 'cookie';
Теперь все сессии пользователей будут потеряны =( И все разлогинятся. А можно как-то исправить баг? Хранить сессии в файлах на сервере не очень кашерно.

admin, а на тестовом сайте (http://kohanaframework.su/kohana/articles/article1) сессии где хранятся?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Captcha
СообщениеДобавлено: 16 ноя 2012, 21:50 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Там нет сессий

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group