Проблема с переменными сеанса с использованием ColdFusion, Tomcat и Firefox - PullRequest
0 голосов
/ 10 сентября 2009

Любая помощь приветствуется.

При использовании cfimage для генерации капчи мы сохраняем его значение в переменной сеанса.

После того, как пользователь отправил форму, мы сравниваем значение введенной пользователем капчи со значением переменной сеанса.

Как это:

Шаг первый - пользователь получает форму с капчей.

Шаг второй - Создается переменная SESSION.CAPTCHA_VALUE со значением капчи, созданным cfimage.

Шаг третий - пользователь заполняет форму и отправляет ее.

Шаг четвертый - Мы сравниваем значение SESSION.CAPTCHA_VALUE со значением, введенным пользователем.

Мы реализовали это из-за спам-ботов.

Проблема в значении SESSION.CAPTCHA_VALUE только в Firefox. После отправки значение SESSION.CAPTCHA_VALUE всегда отличается от созданного, но JSESSION.ID сохраняется.

Мы используем ColdFusion в Tomcat и Firefox 3.5.3.

Заранее спасибо.

1 Ответ

1 голос
/ 10 сентября 2009

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

Кроме того, CFImage ... и другие теги, которые генерируют такие файлы, как cfform (при flash), cfdocument и т. Д. .... будут работать, записывая файл и затем генерируя ссылку на него, которую он выводит в HTML. Убедитесь, что ссылка на этот файл всегда уникальна. Возможно, что у вас есть перекрестное загрязнение изображений. Опять же, если ваша балансировка нагрузки и ваши серверы не используют общую файловую систему (как на NAS), люди могут получать изображения с других серверов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...