![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Dmitry_177 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 22.9.2006 Репутация: нет Всего: нет |
Хочу сделать на сайте защиту от спама, путем ввода "кода подтверждения". Как генерировать картинку я нашел в интернете неплохой способ и с этим проблем нету.. Проблема в другом.. там предлагают хранить строку с кодом в БД.. Я хотел бы узнать на сколько хорош этот способ? Может есть какие-то получше способы? Я сначала подумал о хранении в виде md5 в скрытом поле формы, а потом переводить в md5 строку которую введет пользователь и их сравнивать на равенство.. А потом понял, что путем замены в этом скрытом поле строки можно все это дело обойти..
Если хранить в БД, в каком-то определенном поле, то тут может получиться так: откроет пользователь страницу в двух окнах браузера и тогда при открытии последней странички код от первой страницы затрется на код от второй.. тоже не есть гуд.. нужно чтобы так тоже работало.. т.к. он может так добавлять разную информацию в разные места.. можно же не md5 шифровать а как-нибудь по своему.. Один раз записать тот сгенерированный хеш из скрытого поля и строку из картинки.. а потом бот будет постоянно их использовать и вся защита превращается в ничто.. |
|||
|
||||
| Blaga |
|
|||
![]() ЛамМер++ ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 15.11.2005 Где: г. Иркутск Репутация: 2 Всего: 4 |
Я не спец в этом деле но в таком случае обычно используют сессии... Как точно я не знаю но думаю просто заводят сессию а в ней переменная с этим кодом. А потом сравнивают...
-------------------- |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Да, я тоже рекомендую хранить строку в сессии пользователя. И не забывать удалять ее из сессии вовремя, не допуская повторного использования. Решение с базой данных - медленнее и тяжеловеснее
-------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| kshyms |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 303 Регистрация: 30.8.2006 Где: Душанбе Репутация: нет Всего: 0 |
А к чему защита от спама, если у вас на почте есть автоответчик. Имхо. Пишут вам пишите и вы . На их рекламу есть ваша реклама. Если у вас есть почта и вам присылают письма на сайт значит уже клики идут и в хоть кому то нужны. Например в гостевую на сайте народ роботы высылают письма и в гугле сайт вверх идет по рейтингу.
|
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 8 Всего: 89 |
Рекомендую использовать сессии! Если пользоваться сессиями, то можно даже сделать фишку "обновить" рисунок (если неудается прочитать код с него). Сессии проще, легче и практичнее. Только тут главное сессию не кукой проверять, а как-то по другому передавать ее ид серверу.
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Это почему еще? Если перехватят, то перехватят только идентификатор, а не смысловые значения, которые хранятся на сервере. Если подменят на несущетвующую - еу так проверяйте, что сессия сущетвует, что она не пустая - и все. В любом случае идентификатор сессии придется передавать каким-то открытым способом. COOKIE - нормальный вариант. Да и не так уж много у Вас вариантов: COOKIE, GET и POST , -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 8 Всего: 89 |
Не знаю. Возможно, это мое личное отвращение, но по-моиму проверять капчу, используя куку несколько бредово. По-моиму POST самое "то" для этого. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| dimash1987 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 5.3.2007 Репутация: нет Всего: нет |
Избитая тема. СОздаешь сессию, закидываешь туда значение по rand(1000,900000) и показываешь человеку, человек если правильно не вводит, генерируется другое значение сесийной переменной. Все. Других вариантов нормальных просто нету.
И кто вообще тут сказал юзать Кукисы? Надо юзать обычную сессию, это если хотите дань уважению юзеру ) Это сообщение отредактировал(а) PARROT - 20.1.2008, 23:30 |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
dimash1987, речь и шла о использовании сессии. Вопрос был о том, как передавать на сервер идентификатор сессии: стандартным образом (тогда чаще всего он будет передан через куки) или выстроить приложение так, чтобы он передавался через POST. По большому счету, разницы нет. POST-переменные подделываются ничуть не хуже COOKIES. И точно также при правильной работе с сессией это не поможет пройти CAPTCHA
-------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| Smith |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 17.1.2007 Репутация: 1 Всего: 2 |
|
|||
|
||||
| vpk1961 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 13.2.2006 Репутация: нет Всего: нет |
на сайтах www.kcaptcha.ru, www.kruglov.ru
был хороший проект по этому вопросу, но увы, сейчас они недоступны. Если нужно, то могу выслать его скрипты. Там в сессиях все хорошо работает. Давно пользую icq 450179186 [email protected] |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Smith, вообще-то, у этого сайта адрес www.captcha.ru и он прекрасно доступен.
kshyms, во-первых, судя по всему, речь идет не о почтовом спаме, о роботах, заполняющих формы. во-вторых, по какому адресу писать рекламу в ответ? по адресу отправителя емейла?! И что за странный список по ссылке? Sunvas, Кто говорит о проверке капчи с помощью куки? Речь идет о передаче идентификатора сессии с помощью куки. против этого у тебя есть аргументы? |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
Dmitry_177 если тебе нужна только капчатка то в разделе PHP: Графика много раз рассматривался ее пример.
-------------------- Amazing |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
MoLeX, прочти первую строчку исходного сообщения темы.
|
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
GeneralElectric имеется разногласия в название темы и ее проблемы. защита от спама представляет собой не только капчатку но и другие методы на которые способен человеческий мозг.
Добавлено через 27 секунд не беспокойся первую строчку я прочитал, так же как и вторую и третью и т.д. -------------------- Amazing |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |