[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Простейший метод авторизации на файлах
Sender
Вот возникла необходимость, зделать авторизацию на сайте ( сайт не большой).
Набросал самый простой скрипт, Насколько он будет безопасен ?

Допустим, в корне сайта имеем файл login.php и папку accounts
Внутри папки accounts расположен .htaccess с содержимым deny from all

PS я конечно знаю, что есть много готовых решений, но в данном случае, прошу только ответить насколько безопасен этот метод.


<? 
//файл login.php
session_start();
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];

if (isset($_POST["ulogin"])) { $ulogin = $_POST["ulogin"]; } //Уже получили данные с формы:
if (isset($_POST["uparol"])) { $uparol = $_POST["uparol"]; }
if(empty($ulogin)) { exit(); } if(empty($uparol)) { exit(); }//если пустой логин или пароль то авторизации не будет


if ((isset($ulogin)) && (isset($uparol)) ) {
$ulogin = strip_tags($ulogin); $uparol = strip_tags($uparol); //удалили хтмл и пхп теги
$uparol =substr($uparol,0,40); $ulogin =substr($ulogin,0,40);// пароль и логин не более 40 символов

$account_file = "$DOCUMENT_ROOT/accounts/$ulogin.txt";
if (!file_exists($account_file)) { echo "Не верный логин"; exit(0); }
if (filesize($account_file) == 0 ) { echo "Аккаунт не содержит пароль!"; exit(0); }

$fh = fopen($account_file, 'r'); $txt_parol = fread($fh, filesize($account_file));fclose($fh);//читаем пароль

if ($uparol != $txt_parol ){ $_SESSION['loggedin'] = "net"; echo "Пароль не верный!"; exit(0); }
if ($uparol == $txt_parol ){ $_SESSION['loggedin'] = "da"; /* переход на нужную страницу */ exit(0);}

}

?>


Причём, пароль например
$account_file = "$DOCUMENT_ROOT/accounts/Admin.txt";

он не шифруется. Вопрос. Насколько этот метод безопасен ?!

Заранее Благодарен





Спустя 27 минут, 2 секунды (3.04.2010 - 12:10) twin написал(а):
$ulogin = strip_tags($ulogin);  $uparol = strip_tags($uparol); //удалили хтмл и пхп теги 
что это даст?
$uparol =substr($uparol,0,40);  $ulogin =substr($ulogin,0,40);// пароль и логин не более 40 символов
что будет, если я введу 41?
Цитата
он не шифруется. Вопрос.

А что мешает?

Спустя 38 минут, 20 секунд (3.04.2010 - 12:49) Sender написал(а):
Цитата
что это даст?
Это даст защиту, от намеренного ввода хтмл и пхп тегов вместо нормальных логина и пароля.
Цитата
что будет, если я введу 41?
Если логин или пароль более 40 символов, то обрезается до 40. Если пароль 41 символ ( по настоящему) то не авторизирует.
Цитата
А что мешает?
Покачто не всё понял про шифрование.

Спустя 2 минуты, 27 секунд (3.04.2010 - 12:51) Семён написал(а):
Не мучай сервак этими извращениями! Если нет возможности использовать базу, воспользуйся уже готовыми псевдо-текстовыми базами.

Спустя 38 минут, 35 секунд (3.04.2010 - 13:30) twin написал(а):
Цитата
Это даст защиту, от намеренного ввода хтмл и пхп тегов вместо нормальных логина и пароля.
ничего это не даст ровным счетом. Потому что теги эти в имени файла ничего не значат. А вот если набрать "/Sender/" будет ошибка.
Цитата
Если логин или пароль более 40 символов, то обрезается до 40. Если пароль 41 символ ( по настоящему) то не авторизирует.
чем тебе помешал 41-й символ в пароле? Зачем эти танцы с бубном?
Цитата
Покачто не всё понял про шифрование.
Прежде, чем делать такую ответственную вещь, как регистрация, нужно бы понять механизмы...
Почитай тут. Хотя бы в части защиты пароля.


_____________
Любые проблемы решаемы..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.