[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Алгоритм показа капчи
Владимир55
При подозрении на то, что посетитель является роботом, ему будет показываться капча.

Предполагается такой алгоритм.

1. Средствами РНР определяем IP посетителя.
2. Создаем строку случайного содержания.
3. Создаем форму, содержащую:
- первое скрытое поле, в котором записан IP посетителя;
- второе скрытое поле, в котором записана созданная строка;
- третье скрытое поле, в котором записан адрес страницы, на которую пришел посетитель.
- обычное поле для ответа пользователя.
4. Показываем посетителю созданную случайную строку в графическом виде.
5. Ловим информацию методом POST и в обработчике определяем верность ответа для данного IP посетителя.
6. Если ответ неверен, то вновь показываем капчу с другой случайной строкой. Если ответ верен, то показываем ту страницу, на которую он хотел зайти.

И тут возникает два вопроса:
1. Годится ли такой алгоритм?
2. Будет ли всё это работать, если в браузере поьзователя запрещены кукисы или он использует анонимный серфинг?
depp
Цитата (Владимир55 @ 25.02.2016 - 12:27)
При подозрении на то, что посетитель является роботом

Цитата (Владимир55 @ 25.02.2016 - 12:27)
2. Создаем строку случайного содержания.

Цитата (Владимир55 @ 25.02.2016 - 12:27)
- второе скрытое поле, в котором записана созданная строка;

Цитата (Владимир55 @ 25.02.2016 - 12:27)
1. Годится ли такой алгоритм?

не годится.
Владимир55
Можете пояснить Вашу мысль?
sergeiss
Цитата (Владимир55 @ 25.02.2016 - 12:27)
- второе скрытое поле, в котором записана созданная строка;
- третье скрытое поле, в котором записан адрес страницы, на которую пришел посетитель.

Это должно быть записано в сессию и остаться на сервере, но ни в коем случае не быть передано клиенту!
Иначе получится аналогично "Мама, ключ под солонкой" - это я такую записку в детстве написал smile.gif Мы жили в коммунальной квартире, а записка была оставлена в нашем столе на общей кухне.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Владимир55
Цитата (sergeiss @ 25.02.2016 - 08:42)
Это должно быть записано в сессию и остаться на сервере, но ни в коем случае не быть передано клиенту!

Спасибо, очень ценное замечание!

Но будет ли всё это работать, если в браузере пользователя запрещены кукисы или он использует анонимный серфинг?
drouZ
встречный вопрос: а где Вы видели пользователей, у которых куки запрещены? и кто мешает сессид получать гетом?
kaww
Про скрыто поле с ответом на капчу уже выяснили, осталось понять зачем:
Цитата (Владимир55 @ 25.02.2016 - 08:27)
первое скрытое поле, в котором записан IP посетителя;

Владимир55
Цитата (drouZ @ 25.02.2016 - 09:08)
а где Вы видели пользователей, у которых куки запрещены?

К моему удивлению, я обнаружил таковых на расстоянии вытянутой руки: просто спросил соседей, используют ли они куки. И два из трех сказали, что не хотят следить в сети и куки у них всегда запрещены.

Цитата
первое скрытое поле, в котором записан IP посетителя;


Согласен, что если использовать сессию, то это будет излишним.
drouZ
Цитата (Владимир55 @ 25.02.2016 - 13:25)
К моему удивлению, я обнаружил таковых на расстоянии вытянутой руки: просто спросил соседей, используют ли они куки. И два из трех сказали, что не хотят следить в сети и куки у них всегда запрещены.


Вообще, браузер не плохо и без куков обходится путем передачи гет запроса с ид сессии (в случае стандартной реализации).

а друзьям передайте, что этот метод равносилен крутому сейфу, у которого нет задней стенки, но его придвинули к стене. Кроме неудобства разработчикам он больше ничего не делает. имхо.
sergeiss
Цитата (Владимир55 @ 25.02.2016 - 12:48)
Но будет ли всё это работать...

Если у пользователя что-то не работает по причине того, что у него выключены куки, отключен JS или еще по какой-то причине, то это проблема пользователя smile.gif

Цитата (Владимир55 @ 25.02.2016 - 13:25)
И два из трех сказали, что не хотят следить в сети и куки у них всегда запрещены.

Куки в первую очередь создают удобство самому пользователю.

PS. Один знакомый (но он "совсем" не технарь) как-то стал утверждать, что через приемник GPS можно следить за положением этого приемника... Замечу, что речь шла не о смартфоне, а о простом навигаторе. Я даже не знал, что и сказать-то в ответ на этот откровенный бред.

Владимир, спроси у этих знакомых - они тоже боятся приемников GPS? wink.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
killer8080
Цитата (Владимир55 @ 25.02.2016 - 13:25)
К моему удивлению, я обнаружил таковых на расстоянии вытянутой руки: просто спросил соседей, используют ли они куки. И два из трех сказали, что не хотят следить в сети и куки у них всегда запрещены.

Хм... ну так просвети своих друзей параноиков, что куки не единственный способ маркировки в интернете, кроме них ещё есть local storage, session storage, web sql, flash LSO, etag ... wink.gif
Цитата (Владимир55 @ 25.02.2016 - 13:25)

Цитата
первое скрытое поле, в котором записан IP посетителя;


Согласен, что если использовать сессию, то это будет излишним.

IP тут в любом случае лишний
Цитата (drouZ @ 25.02.2016 - 13:49)
Вообще, браузер не плохо и без куков обходится путем передачи гет запроса с ид сессии (в случае стандартной реализации).

Он ещё и через post передаётся, но использовать эту функциональность не рекомендуется из соображений безопасности. Вот и на этом форуме тоже он зачем то присутствует в урл, чтоб его угнать достаточно запостить "правильную" картинку или аватарку.
drouZ
Цитата (killer8080 @ 25.02.2016 - 20:51)
Вот и на этом форуме тоже он зачем то присутствует в урл, чтоб его угнать достаточно запостить "правильную" картинку или аватарку.

не знаю, у меня нет ничего в урле. мб, у ко-то тоже отключены куки?)))
killer8080
Цитата (drouZ @ 25.02.2016 - 21:26)
не знаю, у меня нет ничего в урле. мб, у ко-то тоже отключены куки?)))

он там периодически проскакивает, несмотря на включенные куки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.