Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2011, 00:05   #1
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию KCaptcha и Firefox

Желание создать сию тему возникло не спроста... Интрига есть - едем дальше. Не в первый раз столкнулся с проблемой несовпадения кода изображенного на капче генерируемой средствами скрипта Kcaptcha в Мозилле с записью в сессии. Ситуация была усугублена когда мне пришлось попользоваться UCOZ. Вроде на проблемы со зрением я никогда не жаловался, но когда на 10-ый раз попытки ввода капчи (не забываем, речь идет именно про мозиллу, в других браузерах все ок) при входе мне сказали, что я неправильно ввожу капчу, я заподозрил неладное. И в накаут меня вывела ситуация когда я скачал сей скрипт, и попытался использовать существующий пример... Угдали? Правильно - неудача. Начался серьезный разбор проблемы. Начал с анализа: раз капча и код в сессии не совпадают, а скрипт написан так, что код генерируется один раз, то был сделан вывод: по всей видимости капча выводится не один раз, а явно больше. анализ запросов на сервер средствами FireBug ничего не дал, полез в логи сервера. Оказалось, скрипт генерации капчи вызывается 2 раза (если мне кто-нибудь сможет объяснить почему - буду рад) и выяснилось что Firefox кэширует первую картинку (в то время как другие браузеры этого не делают), а в сессию записывается код от второй, что логично, если скрипт вызывается 2 раза. Нашел одно решение в интернете - передача скрипту timestamp`а, в качестве аргумента, для того чтобы Мозилла не кэшировала. Но в силу определенных проблем, такой подход не подходил. Поэтому было придумано решение средствами JavaScript:

Код:
<script>
window.onload=function(){
document.getElementById("captcha").src="kcaptch.php?и т.д.";
}
</script>
где captcha - id тега img куда грузится капча.

Эта тема для тех кто столкнулся с той же проблемой.
KPEATuBHO вне форума Ответить с цитированием
Старый 31.05.2011, 03:24   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

http://www.google.com/recaptcha

для тех, кто знает как работает каптча и не хочет себе лишней мороки с левыми библиотеками. Для всех остальных - пишите каптчу сами, потому что большинство популярных классов каптч уже давно распознаются ботами.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
kcaptcha и ajax vvzone PHP 3 02.06.2010 19:20
ShellExecute и Firefox Д'якон Win Api 0 02.12.2009 20:00
Не работает kcaptcha Ruska882009 PHP 1 12.11.2009 16:43
Mozilla Firefox zai_1gen Софт 29 13.02.2009 18:08
дополнения firefox точка Помощь студентам 1 13.02.2009 16:32