Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Авторизация для себя в скрипте 
:(
    Опции темы
Elfet
Дата 9.4.2006, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Wolf1994,
Чёт я не понял о чём ты smile Хэши нужны для авторизации юзеров. Что бы каждый раз не вводить пароль повторно smile

Так как насчёт моего кода? smile Кто-нибудь может сказать безопасен ли он? smile


--------------------
PM MAIL WWW Skype   Вверх
Wolf1994
Дата 9.4.2006, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



Цитата(Elfet @ 9.4.2006, 17:18 Найти цитируемый пост)
Wolf1994,
Чёт я не понял о чём ты  Хэши нужны для авторизации юзеров. Что бы каждый раз не вводить пароль повторно

Я всё никак не могу понять - зачем использовать эти хэши. Чем отличается хранение пароля в хэше и в простом, незакодированном, виде?

То есть, я так понимаю, при добавлении в хэш времени, придаётся дополнительная защита. А если использовать всего один параметр - сам пароль - зачем хэш?
PM MAIL WWW   Вверх
ZlojEzh
Дата 9.4.2006, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 1
Всего: 15



Цитата(AztEK @ 9.4.2006, 14:12 Найти цитируемый пост)
Может я щас бред скажу, но может просто создать файл с названием типа vjshfhsduihiuvhsd.php
Прописать в нём админку без всяких сессий и кук. Фик туда кто попадёт - название то...

найдут запросто
более того, этот файл еще и поисковики, скорее всего, проиндексируют (даже если автолистинг папок отключен)


Цитата(Wolf1994 @ 9.4.2006, 19:37 Найти цитируемый пост)
Я всё никак не могу понять - зачем использовать эти хэши. Чем отличается хранение пароля в хэше и в простом, незакодированном, виде?

хеши используются для кодирования паролей
даже если ты знаешь хеш пароля, восставновление по нему самого пароля займет очень много времени
например, на сайте есть дыра под sql-injection позволяющая вывести на экран некую таблицу с хешами паролей
даже если злобный хакер ) эту дыру найдет, получить пароль админа он все равно не сможет
PM MAIL ICQ   Вверх
Wolf1994
Дата 9.4.2006, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



Цитата(ZlojEzh @ 9.4.2006, 19:56 Найти цитируемый пост)
хеши используются для кодирования паролей
даже если ты знаешь хеш пароля, восставновление по нему самого пароля займет очень много времени
например, на сайте есть дыра под sql-injection позволяющая вывести на экран некую таблицу с хешами паролей
даже если злобный хакер ) эту дыру найдет, получить пароль админа он все равно не сможет

А что мешает этому хакеру установить соответсвующий кук с полученным хэшем? Ведь проверка идёт по кукам?
PM MAIL WWW   Вверх
Ciber SLasH
Дата 9.4.2006, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: нет
Всего: 67



Цитата(Wolf1994 @ 9.4.2006, 23:33 Найти цитируемый пост)
А что мешает этому хакеру установить соответсвующий кук с полученным хэшем? Ведь проверка идёт по кукам?

Да вобщем ничего не мешает. В куки записывать конфединциальную информацию нельзя.
PM   Вверх
ZlojEzh
Дата 9.4.2006, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 8.10.2005
Где: Киев, Украина

Репутация: 1
Всего: 15



абсолютно ничто
поэтому куки лучше всего использовать (при создании системы авторизации) только для хранения идентификатора сессии
а на сами сессии ставить ограниченный срок существования


Цитата(Elfet @ 9.4.2006, 17:18 Найти цитируемый пост)
Так как насчёт моего кода?

все бы хорошо, но раз в час пользователю придется вводить пароль по-новой

я бы все же использовал сессии...
а еще лучше - .htaccess
PM MAIL ICQ   Вверх
Wolf1994
Дата 9.4.2006, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: нет
Всего: 29



А чем безвременные куки хуже сессий? Если вывод информации фильтруется (htmlspecialchars ()) и они не лежат в MySQL-базе, то ведь их нет возможности узнать?
PM MAIL WWW   Вверх
Ciber SLasH
Дата 9.4.2006, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: нет
Всего: 67



Цитата(Wolf1994 @ 10.4.2006, 00:41 Найти цитируемый пост)
А чем безвременные куки хуже сессий?

Куки можно перехватить, а сессия хранится на сервере.
PM   Вверх
Elfet
Дата 10.4.2006, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(ZlojEzh @ 9.4.2006, 23:48)
абсолютно ничто
поэтому куки лучше всего использовать (при создании системы авторизации) только для хранения идентификатора сессии
а на сами сессии ставить ограниченный срок существования


Цитата(Elfet @  9.4.2006,  17:18 Найти цитируемый пост)
Так как насчёт моего кода?

все бы хорошо, но раз в час пользователю придется вводить пароль по-новой

я бы все же использовал сессии...
а еще лучше - .htaccess

В том и заключаеться защита, что бы куки никто не воровал. Мой код имитирует сессии smile Очень простенько smile

А то что каждый раз вводить новые - это да, но ведь я же хочу это для себя еделать только.
Кстати такие штуки и в больших скриптах авторизации есть, например на masterhostе при входе в СР указываешь сколько будет длиться сессия smile


--------------------
PM MAIL WWW Skype   Вверх
paraZite
Дата 10.4.2006, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 9.4.2006
Где: /Ukraine/Mariupol

Репутация: нет
Всего: 1



Цитата
Может я щас бред скажу, но может просто создать файл с названием типа vjshfhsduihiuvhsd.php
Прописать в нём админку без всяких сессий и кук. Фик туда кто попадёт - название то...
Любой человек, имеющий доступ к аццесс логу апача увидит полный путь к твоей админке...

Цитата
что бы куки никто не воровал
Чтобы их никто не воровал, необходимо, как минимум, привязать к идентификатору сессии, передающемуся с помощью cookies, IP.

Мой пример:
Код
<?php
error_reporting(0);

$AUTH = NULL;
$ip = $_SERVER['REMOTE_ADDR'];
$script = $_SERVER['PHP_SELF'];
if(empty($_COOKIE['sid'])){
    if(empty($_POST['login']) || empty($_POST['password'])){
//ЗДЕСЬ ВЫВОДИМ ФОРМУ ДЛЯ ВВОДА ЛОГИНА/ПАССА
        die;
    } else {
        $login = $_POST['login'];
        $password = $_POST['password'];
        $hash = sha1($password.$login);
        $query = "SELECT uid FROM users WHERE hash='$hash'";
        $res = mysql_query($query, $con);
        $AUTH = mysql_num_rows($res);
        if ($AUTH === 1){
            srand((double)microtime()*1000000);
            $sid = sha1($hash.uniqid(rand()));
            setcookie('sid', $sid, time()+2592000);
            $query = "UPDATE users SET sid = '$sid', ip = '$ip' WHERE hash = '$hash'";
            mysql_query($query, $con);
        }
    header('Location: '.$script);
    }
} else {
    $sid = $_COOKIE['sid'];
    if(!ereg("^[0-9,a-f]{40}$",$sid)) die;
    $query = "SELECT * FROM users WHERE sid= '$sid' AND ip= '$ip'";
    $res = mysql_query($query, $con);
    $AUTH = mysql_num_rows($res);
    if(!($AUTH === 1)){
        setcookie('sid', '');
        header('Location: '.$script);
    }
    $my = mysql_fetch_assoc($res);
    foreach($my as $k => $v){
        $k = 'my_'.$k;
        $$k = $v;
    }
}
?>


Это сообщение отредактировал(а) paraZite - 10.4.2006, 22:13
PM ICQ   Вверх
Ciber SLasH
Дата 10.4.2006, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: нет
Всего: 67



paraZite, твой скрипт зациклится, т.к. ты при всех условиях перенаправляешь на этот же скрипт.
PM   Вверх
paraZite
Дата 10.4.2006, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 9.4.2006
Где: /Ukraine/Mariupol

Репутация: нет
Всего: 1



хз... если логин и пасс не введены, а кукисы невалидны идёт вызов die();
если введены логин и пассс и они валидны, выставляются куки и скрипт редиректит пользователя сам на себя, а так как кукисы уже не пусты, скрипт завершает свою работу, опознав пользователя...

Ща протестю ещё раз на всякий случай...
У меня ничего не циклится.

Это сообщение отредактировал(а) paraZite - 10.4.2006, 22:44
PM ICQ   Вверх
IvanB
Дата 11.4.2006, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 23.5.2005
Где: Irkutsk

Репутация: нет
Всего: 5



Имхо, для улучшения безопасности содержимое кукиса желательно завязывать на IP пользователя и ID сессии (или что там у вас)...smile
Извините, если не то.....)
--------------------
Закон отладки: Каждая последняя ошибка является предпоследней.
PM MAIL ICQ   Вверх
Elfet
Дата 11.4.2006, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Это все понятно smile А попробуйте сделать тоже самое без базы, как можно проще ;)


--------------------
PM MAIL WWW Skype   Вверх
IvanB
Дата 11.4.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 23.5.2005
Где: Irkutsk

Репутация: нет
Всего: 5



Через файлы, чтоли? smile
--------------------
Закон отладки: Каждая последняя ошибка является предпоследней.
PM MAIL ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.1259 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.