|
|
|
| Есть такая идея, подглянула ее в другом скрипте. Идея примерно такая: графика не используется, просто генерируется случайная комбинация т.о.:
$_SESSION['secc'] = strtoupper(substr(md5(time()),0,4));
А в форме для заполнения вводится дополнительное поле, в котором пользователю предлагается ввести сгенерированный секретный код. И полю этому присваивается соответствующее имя, т.е. получаем еще одну переменную - vsecc.
Затем, необходимо сравнить полученный переменные. Делаю это так:
if ($vsecc != $_SESSION['secc'])
{
//здесь еще должна быть очистка полей формы
echo "Секретный код введен некорректно!\n";
}
Вот только не могу понять куда ее затолкать. В цикле, в котором проверяются и записываются в файлы данные, она не работает. А вне цикла работает некорректно - можно набрать любую 4-х значную комбинацию и сообщение попадает в гостевую.
Куда мне ее затолкать, подскажите, пожалуйста!!!!! Использую гостевую с вашего сайта (на файлах). | |
|
|
|
|
|
|
|
для: stacey campbell
(16.11.2006 в 17:57)
| | раз подглянула так так приложи файл .. вообще я не колдун .. и мне не понятно .
а идея интересная | |
|
|
|
|
|
|
|
для: oppo
(16.11.2006 в 20:55)
| | вот файлик >>
никак не могу увязать со здешней гостевой, там по большому счету всего то несколько строк перетащить, но не получается :(
может натолкнешь на мысль | |
|
|
|
|
|
|
|
для: oppo
(16.11.2006 в 20:55)
| | вот файлик
вообще-то, интуиция мне подсказывает, что нужно то всего несколько строчек расставить по своим местам и все будет супер, но вот не могу никак допеткать. Проблема в сравнении переменных $_SESSION['secc'] и $vsecc, не могу понять куда ее подставить.
может у тебя что получится | |
|
|
|
|
 19.7 Кб |
|
|
для: oppo
(16.11.2006 в 20:55)
| | вот файлик
повторю, что пытаюсь увязать с представленной на этом сайте гостевой книгой на файлах | |
|
|
|
|
|
|
|
для: oppo
(16.11.2006 в 20:55)
| | сообщений три, инет гнал, сорри за флуд | |
|
|
|
|
|
|
|
для: stacey campbell
(17.11.2006 в 10:42)
| | Что то я не могу догнать, а как ты собираешься без графики защитить свой код секретный?
Где ты его показать пользователю чтобы он ввел его? Если без картинки показать, то что мне помешает его автоматически сграбить и ввести ботом? | |
|
|
|
|
|
|
|
для: XPraptor
(17.11.2006 в 11:36)
| | Вот этой вот штуковиной
$_SESSION['secc'] = strtoupper(substr(md5(time()),0,4));
| каждый раз при обращении к странице addrec.php будет генерироваться случайная комбинация, эта комбинация должна вводиться пользователем в специальнео поле. То, что пользователь ввел - это еще одна переменная. Т.е. у нас их две, затем мы их сравниваем и если все ок, то добавляем сообщение, если нет - очищаем форму.
А вот про защиту совместно с графикой, можно поподробнее?? Я новичок, прошу не судить строго... | |
|
|
|
|
|
|
|
для: stacey campbell
(17.11.2006 в 16:31)
| | Так и что помешает роботу передать вам обратно эту же комбинацию? | |
|
|
|
|
|
|
|
для: Loki
(17.11.2006 в 16:56)
| | робот придется писать. Под сайт. | |
|
|
|
|
|
|
|
для: Trianon
(17.11.2006 в 17:51)
| | робот придется писать. Под сайт.
Просто регулярными выражениями достать этот "сверхсекретный код"...Ведь это не сложно... | |
|
|
|
|
|
|
|
для: Unkind
(17.11.2006 в 17:58)
| | Несложно, конечно. Но всё равно потребуется эксклюзив ) | |
|
|
|
|
|
|
|
для: Trianon
(17.11.2006 в 17:59)
| | а прикрепленный файлик смотрели?
и что?? не серьезно все это?
как еще можно защититься от заполнения, исключая графику?
если есть пример, ткните носом, плз | |
|
|
|
|
|
|
|
для: stacey campbell
(17.11.2006 в 18:11)
| | Какой эксклюзив к черту. У меня бот собирает такие страницы сотнями а потом я ему за две секунды указываю защитное поле и какого оно типа. И после этого он ваш код будет всегда считывать и вводить куда нужно. Не занимайтесь ерундой, кроме как графикой с сессией в MySQL нельзя защититься от бота. | |
|
|
|
|
|
|
|
для: XPraptor
(17.11.2006 в 18:21)
| | Согласен... | |
|
|
|
|
|
|
|
для: stacey campbell
(17.11.2006 в 18:11)
| | Нет, я наоборот выразился, в том смысле, что недорогое решение тоже может дать заметный эффект.
Между прочим, у Вас совсем GDlib отсутствует или только эта самая imagecreatetruecolor? | |
|
|
|