Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Curl, pfsockopen и сессии удалённого сервера, Как сделать рекапчу? 
V
    Опции темы
maxbrown
Дата 2.10.2008, 05:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 26
Регистрация: 16.6.2008
Где: Obninsk sci-city

Репутация: нет
Всего: нет



Привет, All!
Задача: отобразить капчу, чтобы посетителю оставалось ввести только её, а не все остальные данные, которые он уже вводил на моём сайте.

Сразу оговорюсь: не сочтите ни в коем случае меня за спамера, все договорённости с владельцами второй городской доски объявлений есть, и при постинге объявлений сайт партнёров будет открываться чинно-благородно в новом окне. Просто у них нет сейчас программиста, чтобы сделать нормальный "служебный вход" (сделали им сайт на заказ, как готовый продукт, и ради меня переделывать никто ничего не будет). Поэтому для того, чтобы поделиться с партнёрами размещаемыми у меня объявлениями, мне придётся ломиться через капчу.
Дело осложняется тем, что эти ррррразработчики за каким-то лешим сделали так, что при неправильном вводе все (!) поля очищаются. Т.е., выдать заполненную форму, чтобы уже партнёрский сайт обругал за неверную капчу, показал её и после правильного ввода принял-таки объявление - увы, так не получится.

Собственно, спамеры-то как раз эту проблему давным-давно уже решили, и даже какие-то файнридеры к этому делу у них, я слышал, прикручены  smile  но мне-то спамерские технологии категорически не интересны. Да и западло, откровенно говоря.
Я хочу написать своё, ни в коем случае не универсальное, а простенькое решение исключительно данной конкретной задачи.
Готовые решения мне тоже не нужны, просто нужно, чтобы кто-то опытный дал совет, верной ли дорогой я иду:

1. PHPSESSID, присутствующий в SRC рисунка, никакой роли не играет? Можно просто скачивать partnersite.ru/captcha.php, сохранять в джипег и отдавать в имге посетителю?

2. А вот саму сессию закрывать ни в коем случае нельзя - так? И поэтому для открытия используем не fsockopen, а pfsockopen, так?

3. Где-то надо сохранить выданный pfsockopen'ом идентификатор для вызова на следующем шаге. Его можно записать в файл?

4. А вот на втором шаге уже закрываем сессию и 5. Перед этим всем этом надо как-то предусмотреть обязательное закрытие всех предыдущих сессий (когда юзер до второго шага не дошёл, а просто закрыл браузер и свалил) - или они сами со временем закроются? У меня, в принципе, не большая посещаемость на доске, ну 2, ну 5 посетителей в час. Если и случится иногда коллизия - ничего страшного, введут капчу ещё раз, пальцы не отвалятся.

Это сообщение отредактировал(а) maxbrown - 2.10.2008, 05:44
PM MAIL WWW ICQ   Вверх
MoLeX
Дата 2.10.2008, 06:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(maxbrown @  2.10.2008,  05:39 Найти цитируемый пост)
Поэтому для того, чтобы поделиться с партнёрами размещаемыми у меня объявлениями, мне придётся ломиться через капчу.

по сути это им надо, пусть и делают  smile шучу


maxbrown, эти два сайта находятся у одного хостинг-провайдера?!


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
maxbrown
Дата 2.10.2008, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 26
Регистрация: 16.6.2008
Где: Obninsk sci-city

Репутация: нет
Всего: нет



Цитата(MoLeX @ 2.10.2008,  06:02)
Цитата(maxbrown @  2.10.2008,  05:39 Найти цитируемый пост)
Поэтому для того, чтобы поделиться с партнёрами размещаемыми у меня объявлениями, мне придётся ломиться через капчу.

по сути это им надо, пусть и делают  smile шучу


maxbrown, эти два сайта находятся у одного хостинг-провайдера?!

У разных провайдеров.

И надо это, к сожалению, не им, а мне.



Это сообщение отредактировал(а) maxbrown - 4.10.2008, 19:15
PM MAIL WWW ICQ   Вверх
maxbrown
Дата 4.10.2008, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 26
Регистрация: 16.6.2008
Где: Obninsk sci-city

Репутация: нет
Всего: нет



Столкнулся с небольшой проблемой.

Как НЕ закрыть сессию по завершению работы скрипта, если я использую Curl?
Ведь между закачкой капчи и отправкой запроса надо ещё дать посетителю эту капчу набрать. Т.е., скрипт должен отработать дважды, но при этом для Curl'а это должна быть одна и та же сессия.
И что делать, если второй раз посетитель скрипт не запустит, а увидев капчу, просто закроет браузер? Тогда, получается, незакрытые сессии так и будут накапливаться?

UPD: Нашёл ответ самостоятельно. Curl сессию и не прерывает. При условии, конечно, что правильно настроен путь к файлу, в котором Curl хранит куки. Блин. Одна ошибка - и 3 дня геморроя...

Это сообщение отредактировал(а) maxbrown - 7.10.2008, 04:12
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0949 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.