Набросал самый простой скрипт, Насколько он будет безопасен ?
Допустим, в корне сайта имеем файл 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-й символ в пароле? Зачем эти танцы с бубном?
Цитата |
Покачто не всё понял про шифрование. |
Прежде, чем делать такую ответственную вещь, как регистрация, нужно бы понять механизмы...
Почитай тут. Хотя бы в части защиты пароля.
Почитай тут. Хотя бы в части защиты пароля.
_____________
Любые проблемы решаемы..