|
|
|
| Только начал изучать php. Написал сайт и к нему админку, теперь нужно написать к ней ограничение по паролю... Написал код что ниже... Вроде всё работает... Но я понимаю что это примитив, хочу узнать ваше мнение что нужно для защиты от взлома и насколько легко взломать хакерам код приведённый ниже? Спасибо.
<?php
session_start();
include("script/bd.php");
// проверяем наличие сессии
if (!isset($_SESSION['session'] )) {
include("login.php"); // подключение формы ввода пароля
} else {
$s = $_SESSION['session'];
$myquery = mysql_query("SELECT * FROM adminPanel WHERE session='$s'");
$qrow = mysql_fetch_array($myquery);
if ($s == $qrow['session']) { $acces = true;} else { echo "ERROR";}
}
if (isset($_POST['password'])) {
$pass = $_POST['password'];
$pass = htmlspecialchars(trim(stripslashes($pass)));
if (empty($pass)) {
exit("Введите пароль.");
} else {
$query = mysql_query("SELECT * FROM users WHERE pass='$pass'");
$row = mysql_fetch_array($query);
if ($pass == $row['pass']) {
$sess = md5(uniqid(rand(),true));
$res = mysql_query("INSERT INTO adminPanel (session) VALUES ('$sess')");
$_SESSION['session'] = "$sess";
} else {
exit("Пароль неверен.");
}
}
}
if ($acces != true) { exit;}
?>
|
| |
|
|
|
|
|
|
|
для: airsed
(07.05.2011 в 22:00)
| |
session_start();
include("script/bd.php");
// проверяем наличие сессии
if (!isset($_SESSION['session'] )) {
include("login.php"); // подключение формы ввода пароля
} else {
$s = $_SESSION['session'];
$myquery = mysql_query("SELECT * FROM adminPanel WHERE session='$s'");
$qrow = mysql_fetch_array($myquery);
if ($qrow['session']) { $acces = true;} else { exit("ERROR");}
}
if (isset($_POST['password'])) {
if (empty($pass)) {
exit("Введите пароль.");
$pass = $_POST['password'];
$pass = htmlspecialchars(trim(stripslashes($pass)));
} else {
$query = mysql_query("SELECT * FROM users WHERE pass='$pass'");
$row = mysql_fetch_array($query);
if ($row['pass']) {
$sess = md5(uniqid(rand(),true));
$res = mysql_query("INSERT INTO adminPanel (session) VALUES ('$sess')");
$_SESSION['session'] = "$sess";
} else {
exit("Пароль неверен.");
}
}
}
if ($acces != true) { exit;}
|
А так вроде всё ок. | |
|
|
|