Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Скрипт авторизации

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ruslanaxti
Отправлено: 15 Октября, 2014 - 14:53:34
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Я написал скрипт авторизации, нужно экспертное мнение ошибки, недочеты, замечания. Что нужно для надежной авторизации?. Если у кого есть готовый рабочий скрипт прошу поделиться

<?php

// Авторизация
if(isset($_POST['sendauth'])){

if(empty($_POST['login']) || empty($_POST['password'])){

header("Location: index.php");
exit();

} else {


$login=trim($_POST['login']);
$password=trim($_POST['password']);

// Проверка правильности ввода данных
if(!preg_match("/([a-z0-9а-я_\.\-])@([a-z0-9_\.\-]{1,20})\.([a-z]{2,6})/i", $login) || !preg_match("/[0-9a-zA-Zа-яА-Я\\.-]/", $password)) {

header("Location: index.php");
exit();
}


// максимальное количество символов логина и пароля 20
if(strlen($login)<3 or strlen($login)>30 || strlen($password)<6 or strlen($password)>30) {

header("Location: index.php");
exit();

// exit("Количество символов от 6 до 30");
}


// Включаем поддержку UTF-8 в настройках сервера
ini_set("mbstring.internal_encoding", 'UTF-8');

// Здесь проводим форматирование строк
$login=mb_strtolower($login);
$password=md5(md5($password));


// здесь заносим данные пользователя в сесии
require('data_user.php');
data_user($login,$password);


}
}

function data_user($login,$password){

// SQL Запрос поиска по базе данных
$query=sprintf("SELECT * FROM table WHERE login=%s AND passw=%s LIMIT 1", quote_smart($login), quote_smart($password));

$result=mysql_query($query);
if(!$result) exit("Ошибка выполнения запроса - ".mysql_error());


if(mysql_num_rows($result))
{
$datauser=mysql_fetch_assoc($result);



// Вставка данных в переменные сессий
$_SESSION['name']=$datauser['name'];


mysql_free_result($result);

// Установка времени жизни сессии
time_out();


} else { exit("Логина нету"); }

}

?>
 
 Top
3d_killer
Отправлено: 15 Октября, 2014 - 16:47:24
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




если бы ты оформил читаемо тогда может кто и глянул...
(Добавление)
могу сказать сразу что МД5 уже особо не актуально в пароле, да и пароль мало разрешенных символов, остальное не смотрел
 
My status
 Top
esterio
Отправлено: 15 Октября, 2014 - 18:10:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




вопрос на подумать: зачем запрещать символи в пароле? если они потом и так хешированние будут

(Отредактировано автором: 15 Октября, 2014 - 18:10:36)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB