Всем Доброго времени суток! Суть вопроса - делаю капчу ( формирую код ) прогоняю через md5 передаю в вид с оригиналом капчи: Код (Text): <input type="hidden" value="<?=$hash?>" <?=$k{0}?> <?=$k{1}?> <?=$k{2}?> <?=$k{3}?> <?=$k{4}?> при обработке пришедшей формы получаю md5 - того что в вел пользователь сравниваю. Но на сколько правильно(без опасно-ли ) так делать?
А зачем вам передавать на сторону клиента md5? Вы на клиентской стороне проверку делаете? Там вообще нельзя проверять, потому что к JS пользователь имеет доступ, и спокойно эту капчу обойдет. А если на серверной - зачем вам передавать этот md5, не проще ли где-нибудь в сессию положить?
идея в том чтобы избежать использования сессий (возможно ошибочно, полагаю сессия будит в исполнении дороже,но суть не в этом суть - мне бы было удобней обойти сессию в данном случаи обход капчи не страшен главное чтобы он не был быстрым . - возможно перемудрил, хотелось бы понять сравнение на серверной части.
Если проверка на серверной стороне, но хочется большей секурности - можете использовать соленый хэш. Т.е. брать случайную строку (например, $salt = '*d3E92Q)(~', потом отдавать клиенту $salted_hash=hash(hash($captcha) . $hash($salt)). И проверять так же - if (hash(hash($_POST['captcha']) . hash($salt)) == $_POST['salted_hash']) {все хорошо}
это хеш капчи, в случаи с пользователем капчу и так будит видно. а касаемо соли хотелось бы понять - md5(md5($val)) чем это будит хуже соли, а если говорить о боте - не страшно даже если он и пройдет капчу. ибо считаю что гораздо проще будит ее получить из самого кода нежели дешифровать хеш. Код (Text): <?=$k{0}?> <?=$k{1}?> <?=$k{2}?> <?=$k{3}?> <?=$k{4}?> Прошу прощения, функция которую я хочу реализовать будит выполнять отсылку письма для восстановления пароля и будит работать с базой, вижу тут намек на ддос - понимание что можно обойти любую зашиту и привело к решению зделать максимально просто. база mysql доступ через процедуру что думаю в разы увеличит стойкость + простой код возможно все это бред - что хотелось бы понять.
Тебе не нужно два md5. Достаточно и одного. Просто надо делать md5("uchdusqvimpmyfdwzrguomhrxrbogkgsxyjn".$val) и вставить в хидден поле формы. Когда юзер пришлёт свой ответ и этот хеш, подставишь его ответ опять и сравнищь. и всё станет ясно.
Ребята! Подскажите пожалуйста! Нужно создать админку, а там: ПОСТ с прикрепленным календарем. Как все это можно сделать?
Админ заходит, открывает календарь, а там - ПОСТ! Вот что ему надо. Насчет хешей. Это кто ж с такой скоростью регится и на какой сайт в таком количестве, чтоб волновали ресурсы на обработку формы?