Глюк captcha со включенным кешированием

Главные вкладки

Аватар пользователя romantaran romantaran 17 марта 2007 в 17:59

Со включенным кешированием страниц ("нормальный" уровень) не обновляется текст математической задачи модуля captcha.

Эта проблема как-нибудь решается без отключения кэша?

Комментарии

Аватар пользователя romantaran romantaran 18 марта 2007 в 1:59

Да у меня вроде тоже обновлялось, но уже второй пользователь (со значительным временным промежутком) жалуется, что не может решить задачу. Посмотрел — не обновляется. Sad

Аватар пользователя B.X B.X 18 марта 2007 в 2:08

не знаю, только что зашёл на свой сайт, другим браузером, проверил... всё работает...
можете тоже попробовать, адрес сайта в профиле (логин/пароль: demo/demo)... на сайте уже давно модуль кэширования включен... что я делаю не так?

Аватар пользователя dbzer0 dbzer0 19 марта 2007 в 8:43

>адрес сайта в профиле (логин/пароль: demo/demo)
Может я что-то путаю, но я думал всегда, что кэширование работает только для незарегенных(незалогенных) пользователей

Аватар пользователя B.X B.X 20 марта 2007 в 2:32

я для того написал, чтобы можно было проверить, что у меня при "входе" на сайт математическая задача решается успешно...

Аватар пользователя romantaran romantaran 21 марта 2007 в 19:15

Да, когда я исключил кеширование для страниц с каптчей, она заработала нормально, но вот сам модуль CacheExclude выдает постоянно ошибку:

user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE cid = 'http://p-storm.org/user/password'' at line 1 query: DELETE FROM WHERE cid = 'http://p-storm.org/user/password' in /,,,/www/includes/database.mysql.inc on line 172.

Аватар пользователя Toologic Toologic 23 марта 2007 в 13:25

Друзья, а кто подскажет как бороться с таким глюком?

При первом заходе на страницу с формой+капча = сразу выдает ошибку - типа неправильное решение (в смысле математическое уравнение)!

Аватар пользователя romantaran romantaran 23 марта 2007 в 14:04

Заменить в captcha.module:

<?php
/**
* Default implementation of the captcha validation function.
*/
function captcha_captchavalidate(&$captcha_word, &$correct) {
$captcha_word = drupal_strtolower($captcha_word);

if (($_SESSION['captcha'] != '') && ($captcha_word == $_SESSION['captcha'])) {
$correct = TRUE;
}
else {
$correct = FALSE;
form_set_error('captcha_response', t('The answer you entered to the math problem is incorrect.'));
}
}
?>

на:

<?php
/**
* Default implementation of the captcha validation function.
*/
function captcha_captchavalidate(&$captcha_word, &$correct) {
$captcha_word = drupal_strtolower($captcha_word);

if(!isset($_POST['captcha_response'])) {
return;
}

if (($_SESSION['captcha'] != '') && ($captcha_word == $_SESSION['captcha'])) {
$correct = TRUE;
}
else {
$correct = FALSE;
form_set_error('captcha_response', t('The answer you entered to the math problem is incorrect.'));
}
}
?>