Забыли пароль?
Запросите новый здесь.

Автор темы: FILON
ID темы: 2118
Информация:
Тема содержит 47 сообщения, была просмотрена 43374 раз.
Просмотр темы
PHP-Fusion Russia » Расширения » Сервисы Smart
 Распечатать тему
Glider – интерактивная каптча
FILON
У блока добавления комментария выравнивение текста по центру. Ползунок наследовал это значение и отображался также по центру. Это смещение не позволяло правильно рассчитать расстояние сдвига и, следовательно, пройти проверочный код.
What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
 
BolkS
Прошло столько времени, а ни одного комментария не появилось! Попробовал оставить от гостя коммент, но коммент не прошел. Почему-то Glider не работает!?

Объединено 27.07.2014 18:25:
Почему-то комментарий не добавляется, а через любые прочие капчи добавляется. Ошибок в админке нет. В чем может быть дело???
Изменил(а) BolkS, 27.07.2014 18:25
v7.02.06
 
Web
FILON
Нужна информация для отладки. Зайдите на страницу добавления комментария, заполните все поля, пройдите проверочный код (получить надпись "Проверка пройдена!"). Откройте файл includes/captchas/glider/classes/Glider.class.php и после 57 строки добавьте:
Загрузить источник  GeSHi: PHP
  1. var_dump($_COOKIE['gl_token']);
  2. echo "<hr />".self::CODE_WORD."<hr />";
  3. var_dump(self::_getCodeLength());
  4. die();
Добавлено за 0.038 секунд, используя GeSHi 1.0.8.10

После сохранения на открытой ранее странице с добавлением комментария нажать "Добавить комментарий" и полученный текст скопировать в сообщение этой темы.
What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
 
BolkS
Дизайн страницы сломался. На месте коммента обрыв и код:
Скачать исходники  Код
string(124) "CBV4RW2fL20YWpGDg45IzZKNZIcRMlffN09uM2AoVqcIFIcMC7k2bsbgedbgL0ZJY3FWb0EyTXU5ME5mZmxNUmNJWk5LWnpJNTRnREdwV1kwMkxmMldSNFZCQw=="
fusion_
int(52)



По соображениям безопасности некоторые символы в коде заменил...
v7.02.06
 
Web
FILON
Строка 80 в том же файле Glider.class.php что содержит?
What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
 
BolkS
Скачать исходники  Код
   $code_line = hash("adler32", "{$_SERVER['HTTP_USER_AGENT']}{$_SERVER['LOCAL_ADDR']}{$_SERVER['REMOTE_ADDR']}");



разницы нет
Скачать исходники  Код
   $code_line = hash("adler32", "{$_SERVER['HTTP_USER_AGENT']}{$_SERVER['HTTP_HOST']}{$_SERVER['REMOTE_ADDR']}");



Скачать исходники  Код
   $code_line = hash("adler32", "{$_SERVER['HTTP_USER_AGENT']}{$_SERVER['REMOTE_ADDR']}");




Еще заметил в админке ошибка во время отладки:
Undefined index: LOCAL_ADDR Строка: 84

Но 84 строка пустая

В исправленных вариантах 80-й строки ошибок в админке нет, но и комментариев нет!
Во всех трех вариантах код отладки одинаковый...
Изменил(а) BolkS, 28.07.2014 20:38
v7.02.06
 
Web
SchreiBear
BolkS, значит что ошибка может быть строкой или строками выше... скорее всего что то дето не правильно закрыто...уже не раз замечал в пф такую особенность...забудешь дописать ; или } ну и ищи потом...:D

а так не пробовал???

Скачать исходники  Код
$code_line = hash("adler32", $_SERVER['HTTP_USER_AGENT'].$_SERVER['LOCAL_ADDR'].$_SERVER['REMOTE_ADDR']);
$code_line = hash("adler32", $_SERVER['HTTP_USER_AGENT'].$_SERVER['HTTP_HOST'].$_SERVER['REMOTE_ADDR']);
$code_line = hash("adler32", $_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR']);




ЭХ...кому то по моему ещё PHP учить нужно;)
Изменил(а) SchreiBear, 28.07.2014 22:48
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
BolkS
Я брал готовый аддон и теперь пытаюсь его задействовать. Спасибо, попробую...
v7.02.06
 
Web
FILON
BolkS, оставляем последний вариант:
Загрузить источник  GeSHi: PHP
  1. $code_line = hash("adler32", "{$_SERVER['HTTP_USER_AGENT']}{$_SERVER['REMOTE_ADDR']}");
Добавлено за 0.017 секунд, используя GeSHi 1.0.8.10


Попробуйте заменить функцию validate() в Glider.class.php следующей:
Загрузить источник  GeSHi: PHP
  1. public static function validate() {
  2. try {
  3. // Check cookie existing
  4. if (!isset($_COOKIE['gl_token']) || empty($_COOKIE['gl_token'])) { throw new Exception("Cookie does not exists"); }
  5. // Get salt and crypted hash from $_COOKIE
  6. $salt_length = self::_getCodeLength();
  7. $salt = substr($_COOKIE['gl_token'], 0, $salt_length);
  8. $hash = substr($_COOKIE['gl_token'], $salt_length, (strlen($_COOKIE['gl_token']) - $salt_length + 1));
  9. // Test hash encoding
  10. if (!base64_decode($hash, true)) { throw new Exception("Hash encoding failure"); }
  11. // Encrypt code word
  12. $code_word = self::_cryptXOR($hash, self::CODE_WORD, -1);
  13. // Check salt correctness
  14. if ($code_word != $salt) { throw new Exception("Code word hashing failure"); }
  15. // Clear cookies
  16. unset($_COOKIE['gl_token']);
  17. setcookie("gl_token", "", (time() - 3600));
  18. return true;
  19. } catch (Exception $e) {
  20. die($e->getMessage());
  21. return false;
  22. }
  23. }
Добавлено за 0.021 секунд, используя GeSHi 1.0.8.10

После этого попробуйте добавить комментарий. В случае возникновения ошибки полученный на странице текст скопировать в сообщение.

SchreiBear, PHP, говорите, нужно учить? Почитайте про интерполяцию поподробнее...
What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
 
SchreiBear
FILON, так я про себя говорилag ... я сначала ляпнул...потом полез смотреть...а уж потом добавил
ЭХ...кому то по моему ещё PHP учить нужноad


Поспешишь — людей насмешишь
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
BolkS
FILON, оставил последний вариант и заменил функцию validate(). Ошибок нет, но и комментарий не добавляется(
v7.02.06
 
Web
FILON
Восстанавливаем исходный вариант функции validate()catch достаточно убрать строку с die).

Попробовал отправить сообщение со страницы "Контакты". Если оно пришло на почту администратору, то проверочный код работает.
What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
 
BolkS
Test of Glider Capctha from page http://semiluki.ws/contact.php

А там всегда работало, это ведь не комментарий, а обратная связь приходит на почту. Вот почему в комментах не работает, а все остальные капчи работают!?

В админке появилась ошибка на сегодня 30.07.2014 03:19
classes/Glider.class.php
Undefined index: HTTP_USER_AGENT Строка: 81

Скачать исходники  Код
$code_line = hash("adler32", "{$_SERVER['HTTP_USER_AGENT']}{$_SERVER['REMOTE_ADDR']}");




Объединено 30.07.2014 16:44:
Вопрос №1
Почему все капчи работают везде, а эта капча только в контактах? Чем они отличаются?
Изменил(а) BolkS, 30.07.2014 16:44
v7.02.06
 
Web
FILON
Нашел проблему. В комментариях, по какой-то причине, должно обязательно присутствовать поле captcha_code. В Glider Captcha его нет и быть не может.

Решение
Открыть файл Glider.class.php и после 39-й строки добавить следующий код:
Загрузить источник  GeSHi: PHP
  1. echo "<input type='hidden' name='captcha_code' value='' />"; // For comments system correct working
Добавлено за 0.022 секунд, используя GeSHi 1.0.8.10

What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
x1
 
BolkS
FILON, спасибо!!!
Работает!!!!!!!!!!!!!
Ура!!!

Почему
В Glider Captcha его нет и быть не может.

v7.02.06
 
Web
FILON
Поле captcha_code изначально предусмотрено для ввода кода с изображения. Glider не требует ввода какого-либо кода, нужно просто перенести ползунок вправо.
What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
 
BolkS
Тогда я не понимаю как Glider у других работает?
v7.02.06
 
Web
FILON
Такая проблема была у всех. На официальном сайте добавлено обновление до версии 1.1 с текущими исправлениями.
What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
 
GMan1990
А номер версии в ReadMe'шках не меняли?
"Текущая версия: 1.0"
Где находится 1.1?
Человек
 
Web
FILON
Руководства по установке остались без изменений.

Версию 1.1 можно скачать с официального сайта:
Glider Captcha v1.1
What's common between Halloween and Christmas? Every programmer knows: 31 oct = 25 dec.
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Glider Captcha проблема.  →  Ошибки, баги 8 / 5152 15.12.2015 04:43
Glider капча CSS конфликт  →  Плагины 23 / 30094 09.06.2015 08:59
Glider капча изменить ширину  →  Плагины 6 / 10467 29.05.2015 11:07
Glider Captcha  →  Другое 0 / 1888 25.03.2014 06:36
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)