Обновления в теме введите число с картинки побудили меня всё таки опубликовать давние мысли. Идеи есть, времени нет ..
Для начала можно ознакомится с темой
http://forum.php.su/topic.php?fo...m=43&topic=7
Где предлагали метод защиты от бота без картинки.
И так мой новый метод основан на JS и основывается наверное на самой знаменитой детской игре для памяти,
http://www[dot]flashzona[dot]ru/?sort=ra[dot][dot][dot]ec=0&id=1963
( сначала посмотрите потом читайте далее )
где каждый следующий шаг определяется Math.rand() и добавляется в массив.
а в качестве этих ашриков будут использоваться css и дивы с window.setTimeout
Для того чтобы прочитать содержанием массива человеку придётся покопаться в исходниках или писать плагины. Те кто имеет дело с плагинами обычно пишет на благо народа, поэтому можно считать что такой метод весьма дйственный.
Кто что добавит ?
Если я правильно понял, то это не то, что нужно ((*
Потому что, во-первых, я так понимаю есть некое ограничение по времени. Это может быть плохо для людей с ограниченными способностями. Во-вторых, яваскрипт может некорректно работать (пяматуя бессмертные IE, NetScape и иже еси на небеси..). И, наконец, в третих, никто не освобождает нас при этом от проверок на сервере, так может и не стоит так заморачиваться на клиенте ?(*
Ограничения по времени я не предлагал, можно и без них, главное только чтоб не подобрали.
Картинка для людей с ограниченными способностями тоже не если лучшее решение..
С браузерами действительно могут возникнуть поблемы, хотя любая статистика интрнета показывается что под браузерами netscape 1.1 уже не сидят.
А вот насчёт проверок на сервере - можно стоб сервер сам и отдавал JS'у генерируюмую случайную последовательность.
Конечно хороший программист разберётся как обратится к памяти и стеку используемому браузером и прочесть оттуда чтото, но либо это хорошие программисты, либо профессиональные хакеры которым не до спама в левом форуме про футбол.
Единственный недостаток у этого метода это дейсвительно проверка на стороне сервера, как бы её сделать дейсвительно качесвенной и не обходимой всякими спамерами.
Конечно можно всё это накрутить аяксом, чтоб с сервера запрашивало следующий шаг и чтоб туда же отправляло ввод пользователя и там порверяло на правильность, но мне чтото не очень по душе такой подход..
Цитата:либо это хорошие программисты, либо профессиональные хакеры которым не до спама в левом форуме про футбол
Вот тут я в корне не согласен. Если я за что то берусь, то буду стараться всеми силами сделать действительно что-то стоящее, а не "левое". К своим разработкам всегда подхожу серьезно. А раз уж так получилось, что потребовалась и моя помощь ((*, то я все равно буду думать как сделать так, чтобы защита получилась стоящей.
Проверка на сервере необходима в любом случае - никогда нельзя доверять тому, что передал клиент. Так может, каждый шаг на сервере и проверять? Что в этом плохого? И сделать это можно без аякса.
Можно и без аякса, только имеется в виду что гонять туда обратно запросы куда хуже чем 1 запрос с текстом от картинки.
Можно тогда использовать флешку которая будет показвыать некую комбинацию ( сразу шесть лампочек ), а пользователю её придётся повторить.
Но тут уже проще просто картинку или анимированную гифку сотворять ..
Так, думаем дальше ..
А я думаю, что можно сделать так: первоначальную проверку поручить яваскрипту, то есть он проверит, и если не правильно, то на сервер ничего не пойдет.
А если яваскрипт скажет, что все ок, то данные идут на сервер и проверяются 1 раз уже там. Если и сервер скажет ок - тогда считем, что проверка пройдена.