Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Капча

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Как побороть ?
Delovoy
Отправлено: 07 Февраля, 2012 - 12:03:28
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Захожу на сайт, на котором для подачи объявления нужно указать значение капчи

В исходном коде страницы отображается это так

CODE (html):
скопировать код в буфер обмена
  1. <img alt="" class="vmiddle marginright5" id="captcha_image" src="http://ххх/kiev_city/captcha//"/>


Видно, что капча береться с http://ххх/kiev_city/captcha//

если обращаюсь CURL по этому url - то получаю новую капчу, а не та что была на странице ...

собственно вопрос - как можно получить именно ту капчу, что изначально на странице ?

если уже она отображается, значит где-то в браузере она хранится ...
как достать ее ? кто сталкивался ?
 
 Top
Мелкий Супермодератор
Отправлено: 07 Февраля, 2012 - 12:09:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Delovoy пишет:
если уже она отображается, значит где-то в браузере она хранится ...

Кэш браузера. Расположение зависит от браузера и ОС.

Другой вопрос - нафиг она вам? Если будете забирать, распознавать и что-то делать курлом - то курлом же и грузить её надо. Сперва - страницу, оттуда - капчу. Не забудьте только про куки.


-----
PostgreSQL DBA
 
 Top
Delovoy
Отправлено: 07 Февраля, 2012 - 12:19:19
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Я так и пробовал:

1. Получил страницу, на ней капча
2. Обратился курлом к сервису капчи - получил jpg

Только это новый jpg - не тот, что отображается изначально на странице

соответсвенно, если я ввожу данные с новой капчи - то при отправке страницы пишет, что капча не верна

(наверное существует какая-то контрольная сумма на странице или какая-то другая технология, которая позволяет отличить изначально загруженную капчу и свежий, полученный вариант)

если кеш браузера зависит от расположения и ОС ... то это очень серьезно осложняет дело ....

а можно как-то вырезать кусок экрана ? Улыбка
либо какой-то еще способ ?
 
 Top
EuGen Администратор
Отправлено: 07 Февраля, 2012 - 12:28:29
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Delovoy
Исходную страницу тоже через curl получайте.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Delovoy
Отправлено: 07 Февраля, 2012 - 12:30:23
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




EuGen пишет:
Delovoy
Исходную страницу тоже через curl получайте.


исходную страницу тоже CURL получаю и что это мне дает, не совсем понял ?
 
 Top
Zuldek
Отправлено: 07 Февраля, 2012 - 12:37:20
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Delovoy пишет:
EuGen пишет:
Delovoy
Исходную страницу тоже через curl получайте.


исходную страницу тоже CURL получаю и что это мне дает, не совсем понял ?


Забирайте и страницу и каптчу одним запросом. Когда вы скачиваете страницу сайта то вам приходит уже капча. Разбирайте и работайте. Когда вы обращаетесь к скрипту каптчи естественно он отдаст вам новую.

upd. на правах пророка предвидя вопросы - я так и делаю, сделал - не вижу капчу, как её получить? - код в студию которым забираете страницу.

(Отредактировано автором: 07 Февраля, 2012 - 12:39:27)

 
 Top
Мелкий Супермодератор
Отправлено: 07 Февраля, 2012 - 12:49:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Delovoy пишет:
Только это новый jpg - не тот, что отображается изначально на странице

А кто сказал, что они вообще должны совпадать?
Распространены 2 варианта генерации капчи:
0) значение выбирается при отрисовке страницы и тогда да, капча будет повторяться
1) значение выбирает скрипт отрисовки капчи.
Но нас-то это не касается. Это проблема той стороны следить за консистентностью данных.

Протокол HTTP не сессионный, узнать, что вот этот юзер - это тот же самый, что и 5 минут назад - можно только по тому, что сам пользователь о себе сказал:
0) куки
1) какой-нибудь хитрый get или post запрос
Всё.
В большинстве случаев используется кука, а с куками курл умеет работать сам.
(Добавление)
Zuldek пишет:
Забирайте и страницу и каптчу одним запросом.

Невозможно в принципе. Читать, что такое HTTP и как он работает.


-----
PostgreSQL DBA
 
 Top
EuGen Администратор
Отправлено: 07 Февраля, 2012 - 12:50:52
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Мелкий
Зачем рассказал? Так бы было поле для раздумий.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Мелкий Супермодератор
Отправлено: 07 Февраля, 2012 - 13:23:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)





EuGen, а по-моему было бы не поле, а теннисный корт с перекидыванием одного и того же сообщения на разный манер, что, впрочем, и так уже видно по теме Закатив глазки


-----
PostgreSQL DBA
 
 Top
Delovoy
Отправлено: 07 Февраля, 2012 - 14:10:18
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Я правильно понял?

мне вместе со страницей приходит кука, в которой каким-то образом указано, какая именно капча

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

т.е. моя задача сводится к тому, чтобы найти где и каким образом в куке указывается капча и потом получить новую капчу и сформировать новую куку ?
 
 Top
EuGen Администратор
Отправлено: 07 Февраля, 2012 - 14:15:05
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Верно. Вам нужно посмотреть какие куки генерируются страницей, где есть картинка и имитировать их когда отсылаете curl-запрос (установкой кук через curl)


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB