Логирование в БД

Astral Man

We Will Rock You
neko
Проверяю так:
PHP:
if(!isset($_COOKIE['cookie_on'])) {
    setcookie("cookie_on", "yes");
        if(!isset($_GET['cookie'])) {
            Header("Location: index.php?cookie=on");
        }
}

if(isset($_GET['cookie'])) {
    $cookie = htmlspecialchars(trim($_GET['cookie']));
    if($cookie == "on" or $cookie == "off") {
        if($_GET['cookie'] == "on") {
            if(isset($_COOKIE['cookie_on'])) {
                $cookie_on = htmlspecialchars(trim($_COOKIE['cookie_on']));
                if($cookie_on == "yes")
                Header("Location: index.php");
            } else {
                Header("Location: index.php?cookie=off");
            }
        }
        if($_GET['cookie'] == "off") {
            $_ERROR['cookie'] = "В Вашем браузере отключена поддержка <b>cookie</b>";
        }
    } else {
        die();
    }
}
Прошу сильно не критиковать мой код, я еще не профи :)

Объясните мне как сделать нормальную защиту, плиз.
 

neko

tеam neko
Astral Man

обясняю еще раз как сделать защиту
у тебя есть аккаунты в базе

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

в варианте чуть получше, ты запоминаешь адрес с какого делались попытки (т.е. блокируешь пару ай-пи+логин).
т.е. если бразильские хакеры еще пол секунды назад подбирали мой пароль, я зайду без проблем

-~{}~ 28.07.04 10:58:

а код помоему должен вечный редирект делать
 

Astral Man

We Will Rock You
Автор оригинала: neko
Astral Man
а код помоему должен вечный редирект делать
Нет работает нормально, проверь.

Т.е. нужно отслеживать иненно подбор пароля, а не логин + пароль?
А как быть если взломщик находится в одно подсети (за прокси), подбирает пароль для юзера1, аккаунт блокируется, а реальный пользователь не может зайти.
 

neko

tеam neko
А как быть если взломщик находится в одно подсети (за прокси), подбирает пароль для юзера1, аккаунт блокируется, а реальный пользователь не может зайти.
никак
это слабая сторона блокировок
однако, если ты блокируешь даже на 3 минуты, то перебор это уже сделает невозможным, а человек который логается может и подождать

а для тебя как администратора
или для пользователя, как лица заинтерисованного
эти попытки должны быть сигналом

если они постоянно повторяются, значит на лицо злой умысел и можно начинать решать проблему другими методами
 
Сверху