|
|
|
| Подскажите такая сессия для входа нормальная и можно ли из нее сделать функцию? Чтоб не вставлять этот код на каждую старницу!
if (empty($_SESSION['username']) or empty($_SESSION['password'])) {
header( "Location: login.php" );
}
else {
$username = $_SESSION['username'];
$password = $_SESSION['password'];
$sql = ("SELECT * FROM $tables[t_users] WHERE username = '$username' AND password = '$password'");
$result = mysql_query($sql);
$sess = mysql_fetch_array($result);
$user = $sess['username'];
$pass = $sess['password'];
if( ($user == $username ) && ( $pass == $password ) ) { }
}
|
| |
|
|
|
|
|
|
|
для: clubxaliav
(28.04.2011 в 22:18)
| | 1) достаточно сделать проверку в базе данных, то есть if( ($user == $username ) && ( $pass == $password ) ) имхо лишнее,
2) нужно проверять значения $username и $password на потенциально опасные символы для sql-иньекций перед запросом
3) не вижу смысла при каждой загрузке страницы проверять значения в базе данных, достаточно проверить пользователя один раз при авторизации, и если она удачная просто хранить в сессии флаг об этом.
4) чтобы не вставлять этот код на каждую страницу его нужно сохранить в отдельный файл, но этот файл все равно придется инклудить в каждую страницу | |
|
|
|