Капча в опере-мини

1. Саня (06.08.2010 / 15:19)
Помогите народ,так как не могу понять в чем дело. С компьютера капча вводиться нормально и все работает хорошо, а с оперы мини выбивает что капча неправильная. Может кто сталкивался с подобным и знает как же это лечиться. С меня + . Горю (

2. delete (06.08.2010 / 15:59)
дело в том что сессия к которой привязывается код на картинке, почему то быстро умирает, если с оф.версии вводить, то еще не всегда умирает, а вот с мода это очень частое явление)) видимо когда жмем "ввод" наша текущая сессия меняется и уже не совпадает с той что было..хз как с этим бороться, еще не видел не одного сайта, что б с мода все с первой попытки прошло успешно.

3. delete (06.08.2010 / 16:05)
что то совершенней надо чем $_SESSION['kod']

4. Саня (06.08.2010 / 16:13)
3. Денис Петрович, да. проблема именно с модом оперы....
ну что же. придется вырезать капчу.

5. delete (06.08.2010 / 16:13)
время жизни сессии ведь строго установлено и если принудительно её не сбразывать она не умрет, а вот почему опера её сама по себе сбрасывает..загадка

6. delete (06.08.2010 / 16:16)
sanzstez (6 Августа 2010 / 16:13)
3. Денис Петрович, да. проблема именно с модом оперы....
ну что же. придется вырезать капчу.
для меня эта проблема тоже актуальна, т.к использую оперу мод сам и пишу двиг и уверен что многие тоже еще их юзают, но на сайте то все впорядке, авторизация ж не слетает..

7. delete (06.08.2010 / 16:20)
есть такая идея, в случае ошибки при регистрации, создать проверку на наличие данных кода в сессии, и если какая ошибка возникла не генерировать новую капчу, а посылать запрос обратно в нее, что б картинка была всегда одна для текущей регистрации.

8. Владимир (06.08.2010 / 16:59)
Есть выход. Заносить код капчи не в сессию, а сохранять в файл.
Пример строки в файле:
127.0.0.1<||>kod_captcha
Как бы привязывать капчу к IP и записывать это в файл.
И потом проверять на правильность ввода капчи с данными в файле. Запись IP нужна для того чтобы если вдруг одновременно 2 юзера захотят регнуться.

9. Владимир (06.08.2010 / 17:03)
Для того чтобы данные файла нельзя было как либо прочесть можно файл сохранять с расширением php в таком виде:
<?php
#127.0.0.1<||>kod_captcha
?>

Тогда прямого доступа к этому файлу не будет. Знак решетки обязателен. Просто потом при чтении данных эту решетку отрезать надо будет.

10. Azzido (06.08.2010 / 17:07)
а ваы уверены что у вас с сессиями проблемы? а не с GD? такая же проблема была, с компьютера и почти всех браузеров все ок, а с операмини как будто кэшировалась и не обновлялась, в частности на h2m было такое, ничего в скриптах не меняя перенес на jahost и проблемы исчезли

11. Владимир (06.08.2010 / 17:13)
10. Azzido, тоже вариант. Тогда можно сделать текстовую капчу.

12. delete (06.08.2010 / 17:22)
10. Azzido, понимаеш если бы это было дело в графической библиатеке, то проблема была у всего софта, сессия применяется ж для хранения данных, тобиш кода с картинки, а вот почему она обнуляется, есть вариант что для оперы мод, для сессии кода с картинки надо устанавливать время жизни кукисов, может по дефолту они живут не долго.. достаточно поставить минут 5 для небольшой формы регистрации, если большая то время больше

p.s как вариант кешировать данные с сессии тож хороший

13. delete (06.08.2010 / 17:28)
проблема и в том что у мода ip динамический, может когда прокси сервер оперы меняется с ним и новая сессия появляется, грешу на это почему то, сделать привязку сессии к ip во время реги, мм к реальному ip а не динамическому, или действительно где то хранить эти данные в кеше, на файле.

14. Саня (06.08.2010 / 17:32)
10. Azzido, Хостинг бест-хостер....
В заголовках там где code.php указан запрет кеширования.
Картинка в опере обновляется, но например на картинке "12" а в сессии записано число которое я вводил перед этим.
Думал что проблема в том что нужно удалять значение сессии картинки типа unset($_SESSION['kod']); ну тоже не помогает.

15. delete (06.08.2010 / 17:33)
Azzido, а у тебя наверное была проблема в серверных настройках, когда сервер висит то он совершенно не держит сессию, у меня с джоном цмс на мирексе так было, авторизация слетала целый день.

16. delete (06.08.2010 / 17:40)
14. sanzstez, для теста напиши скрипт, выведи значение которое генерирует капча, и значение что которое сохраняется в сессии, по идеи они должны быть одинаковыми, и принудительно убивай сессию (session_destroy();) что бы при каждой новой генирации капчи, был этот буфер пуст, возможно у мода такой глюк, старые данные с сессии не замещаются новыми, поэтому и значения выходят разные.

p.s вот когда в настройках оперы, я удалял куки, и потом заходил на сайт, почему то авторизация была, выходит опера глючная, и очищается через раз и тогда и с сессией у нее непорядок.

17. Артур (06.08.2010 / 17:57)
Знакомы проблемы эти)) так и оставил)

18. delete (06.08.2010 / 18:06)
кстати Алькатраз насколько я помню занимался этой проблемой, вот правда не знаю смог ли её решить на джоне цмс.

19. Azzido (06.08.2010 / 18:20)
да тут половина понописаного бредовые предположения, я же написал, капча кэшировалась причем не в браузере, запрет кэширования в скрипте так же был указан, проблема была в GD, такое наблюдал в операмини модах и некоторых браузерах мобил, нокия s40 например, но не факт конечно что здесь такая же проблема, я просто советую протестировать где нибудь ещё

20. Саня (06.08.2010 / 18:25)
Ладенько ... пошла в ж эта мини-мод, пусть качают обычную мини, целый день сижу суть проблемы неясна - как решать хз, кроме велосипедов ничего нет. Всеравно ребята спасибо кто чем помогал.

21. Azzido (06.08.2010 / 18:26)
20. sanzstez, погоди, попробуй для начала текстовую капчу, проверим в чем пароблема

22. delete (06.08.2010 / 18:39)
19. Azzido, по твоим словам данные что генерирует скрипт и информация которая наносится на картинку, разные? smile т.е надпись создалась а генератор уже новую инфу сгенерировал и она то и сохранилась в сессии? хмм

23. Azzido (06.08.2010 / 18:48)
22. Денис Петрович, совершенно верно, первое отображение капчи->код передаваемый в сессии и изображение совпадают, в случае если ввести неверно, то капча тупо кешируется и выводится число, которое было при первом отображении

24. Azzido (06.08.2010 / 18:48)
вот такая вот проблема была на h2m

25. Саня (06.08.2010 / 18:59)
24. Azzido, походу у меня та же проблема. С текстовой капчей все пучком. Значит хост... Вот зараза. Пробовал 2 разные капчи. 0 эмоций как было так и есть проблемко. Пора на другой хост сваливать...

26. ктулху (06.08.2010 / 19:13)
CHUMA (6 Августа 2010 / 19:13)
10. Azzido, тоже вариант. Тогда можно сделать текстовую капчу.
А смысл текстовой каптчи? от ботов не спасёт, а только юзерам усложнение D

27. delete (06.08.2010 / 19:19)
24. Azzido, дык в том то и дело что изображение то каждый раз новое)) выходит дело не только в плохом сервере, у меня такая ерунда на всех сайтах бывает, я не думаю что джахост единственный в мире сервер с нормальными настройками)))

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

28. Саня (06.08.2010 / 19:24)
У меня на телефоне 3 оперы мини . Результаты теста:
1) опера 2.06 мод - не проходит капчу ни на моем сайте, ни даже на офф сайте джонцмс
2) мод 3 вырубил телефон - не удалось затестить хД
3) офф опера мини - полет нормальный и никаких проблем.
Хост... Вариант возможен, на джахост бы переехал так дополнительных доменов нету.

29. delete (06.08.2010 / 19:28)
28. sanzstez, ну тогда забей, в принципе единицы юзают 2.06, я на ней пишу скрипты вот сижу с ней, а другие просто посещают сайты, думаю зайти с 4 оперы что б один раз зарегаться будит не проблема, просто в реге напиши надпись что работает только с браузерам опера 4 и выше.

30. Саня (06.08.2010 / 19:30)
Кажется причина ясна - мод меняет айпишники как перчатки - я на сайте один а по статистике топа
2. Opera (94.246.126.115)
3. Opera (94.246.126.195)
4. Opera (94.246.126.60)

31. ктулху (06.08.2010 / 19:31)
Денис Петрович (6 Августа 2010 / 21:19)
24. Azzido,
правда заказал ща на джахосте тестовый период, фтп не робит, панель тож неробит)) ненадо мне такого счастья.
O_o по подробнее, что значит неробит? какие ошибки выдаёт в таком случае

32. delete (06.08.2010 / 19:32)
sanzstez (6 Августа 2010 / 19:30)
Кажется причина ясна - мод меняет айпишники как перчатки - я на сайте один а по статистике топа
2. Opera (94.246.126.115)
3. Opera (94.246.126.195)
4. Opera (94.246.126.60)
дык я тебе ж об это писал выше)) просто надо брать "реальный IP", он не меняется и к нему лепить сессию.

33. Azzido (06.08.2010 / 19:32)
возможно в твоем случае что то и с ip, но тогда вопрос почему текстовая капча работает

34. delete (06.08.2010 / 19:34)
ShiftBHT_есть_чо7 (6 Августа 2010 / 19:31)
O_o по подробнее, что значит неробит? какие ошибки выдаёт в таком случае
к фтп не конектится, а в панеле когда вводиш логин и пароль выдает белую страницу, и вверху надпись что соединение с этой страницей не безопасное.

35. delete (06.08.2010 / 19:37)
Azzido (6 Августа 2010 / 19:32)
возможно в твоем случае что то и с ip, но тогда вопрос почему текстовая капча работает
в общем надо сделать 2 капчи, одну графическую другую текстовую, значение должно быть у обоих капч одинаковое, если будит разное то дело в GD, если одинаковое то мистика какаято))

36. ктулху (06.08.2010 / 19:37)
34, А, ты всё со своих древних модов оперы... какгбэ... прогресс то движется, опера 5 нормально адекватно работает.
FTP проверил, работает в штатном режиме

37. Azzido (06.08.2010 / 19:39)
35. Денис Петрович, что за бред еще? Суть эксперимента ясна, текстовая капча работает, графическая-нет, вывод - сессии не при чем скорей всего, а GD, хотя может и у нее какие то свои механизмы работы с сессиями я хз...

38. delete (06.08.2010 / 19:43)
Azzido (6 Августа 2010 / 19:39)
35. Денис Петрович, что за бред еще? Суть эксперимента ясна, текстовая капча работает, графическая-нет, вывод - сессии не при чем скорей всего, а GD, хотя может и у нее какие то свои механизмы работы с сессиями я хз...
D ну капчу то генерирует не GD, а фунция генерации, GD лиш рисует это значение, и как бы я клоню к тому, основываясь на твоих суждения, что данные что скрипт создает идут в сессию а на картинке рисуется данные которые в кеше)) по идеи значение текстовой капчи и графической должны совпападать т.к гениратор то у них один и тот же

39. delete (06.08.2010 / 19:47)
ShiftBHT_есть_чо7 (6 Августа 2010 / 19:37)
34, А, ты всё со своих древних модов оперы... какгбэ... прогресс то движется, опера 5 нормально адекватно работает.
FTP проверил, работает в штатном режиме
выходит что бы работать на вашем хостинге мне надо покупать новый телефон, а еще лутше смартфон, т.к в 5 опере нет фтп менеджара и SSH.

p.s учетку можиш удалять, я на тестился уже)))

40. Саня (06.08.2010 / 19:48)
Все народ харош споров. Всем спасибо за обсуждение проблемы. Решено забить. ))
если и на сайте джонцмс такая же беда, то значит опера кака - разработчики движка не допустили бы такой оплошности если бы ее можно было исправить.

41. Дмитрий (06.08.2010 / 20:01)
При обращение к файлу каптчи в путь до файла допишите ?' . mt_rand(1, 999) . ' должно помочь

42. ramzes (06.08.2010 / 20:23)
sanzstez (6 Августа 2010 / 18:25)
Ладенько ... пошла в ж эта мини-мод, пусть качают обычную мини, целый день сижу суть проблемы неясна - как решать хз, кроме велосипедов ничего нет. Всеравно ребята спасибо кто чем помогал.
покажи заголовки

43. Саня (06.08.2010 / 20:40)
41. ПьяНый Ангел, ок попробую

44. Дмитрий (06.08.2010 / 20:42)
43. sanzstez, почему это? ты наверное плохо понял что я написал, прочти ещё разsmile просто будет генерироватся случайно число около адреса картинки, и картинка не будет кешироваться, и тогда не должно быть проблем

45. Саня (06.08.2010 / 20:48)
Это я вдуплил сразу и отредачил сообщение - мозг уже не варит, сории ))

46. delete (06.08.2010 / 20:50)
или выводят на картинку не данные с генератора а то что в сессии записано, т.е с начала данные помещают в сессию а потом читаю ее и то значение пишут на картинке, мм как бы тогда врятли ошибка получится.

47. Саня (06.08.2010 / 20:55)
в сессии и на картинке цифры разные . А при вводе с капчи в сессии вопще левая цифра (даже на картинке не было)
Заголовки
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header("Content-type: image/png");

48. Саня (06.08.2010 / 21:00)
44. ПьяНый Ангел, не помогло,но я и не надеялся

49. ramzes (06.08.2010 / 21:02)
Header('Pragma: no-cache');
у меня еще стоит, вроде не кешируется

50. Саня (06.08.2010 / 21:06)
Да изображение не кешируется - обновляется, просто мод оперы непонятно каким макаром сессию держит и изза этого траблыы

51. delete (06.08.2010 / 21:09)
генерируем рандомое число и заносим в сессию

$_SESSION['cod'] = rand(1111, 9999);


потом $_SESSION['code'] выводим на экран, как картинку.

а сравниваем тогда $_SESSION['code'] & $_POST['provcode']

52. Studentsov (06.08.2010 / 21:11)
Денис Петрович (6 Августа 2010 / 19:47)
выходит что бы работать на вашем хостинге мне надо покупать новый телефон, а еще лутше смартфон, т.к в 5 опере нет фтп менеджара и SSH.

p.s учетку можиш удалять, я на тестился уже)))
Я ж говорил, что говнохост E

53. ramzes (06.08.2010 / 21:11)
на каптче число есть? если есть то сессия не при чем, для проверки можешь вывести чило из сесси, хотя число вообще можно не менять же, с одной сесси одно число

54. delete (06.08.2010 / 21:13)
Студент_trollface (6 Августа 2010 / 21:11)
Я ж говорил, что говнохост D

теперь лично убедился, хорошо что оплатить не успел)

55. Azzido (06.08.2010 / 21:24)
мне все же кажется дело в GD

56. ктулху (06.08.2010 / 21:27)
Вы бы ещё с нокии 3310 сидели, умники. Вообще-то никакого намёка на WAP в хостинге нет

URL: https://visavi.net/topics/12352