Я определил свой сеанс на моей странице входа. После ввода пользователя и пароля он попадает на предопределенную страницу URL. Проблема в том, что я могу получить доступ к своим другим страницам с URL-адресом. Я хочу защитить страницы с сеансом входа в систему.
<?php
session_start();
if (isset($_POST['submit'])){
$user=$_POST['user'];
$password=$_POST['password'];
$query = "SELECT * FROM login WHERE user='$user' && password='$password'";
$data=mysqli_query($db_conn,$query);
$total=mysqli_num_rows($data);
if ($total==1) {
echo("Login Sucessfull");
$_SESSION['log']=1;
header("refresh:2;url=customer_data_ie.php");
}
elseif ($total==is_null()){
echo("Invalid User");
header("refresh:2;url=login_page_crm.php");
}
else{
echo "Invalid User";
}
}
?>
<?php
session_start();
session_destroyed();
?>
Вам понадобится session_start()
на каждой странице PHP, к которой вы хотите получить доступ к данным сеанса.
возможно, вам лучше всего иметь session_start()
вверху каждой страницы и не уничтожать сеанс до тех пор, пока состояние действительно не потребуется изменить (вход в систему, выход из системы, тайм-аут и т. д.)
session_destroyed()
ред.? Вы имеете в виду уничтожить? Почему вы уничтожаете сеанс, который вы только что начали?
Помимо того, что упоминал @treyBake, не храните пароль пользователя в виде простого текста, используйте password_hash()
и password_verify()
для большей безопасности.
@RamRaiderit сработало, спасибо всем за отзывы. Удачи, ребята!!
Для этого вам необходимо выполнить следующие шаги:
Это сокращение code duplication
, и вы легко сможете управлять своими веб-приложениями.
Позвольте мне привести вам пример структуры
/inc/header.php, footer.php
/system/config.php
включите заголовок.php внутри этого config.php и включите config.php на все страницы, чтобы это также включало вашу конфигурацию и верхний/нижний колонтитул.
перенаправление - наименьшая из ваших проблем, вы открыты для SQL-инъекций и должны решить в ближайшее время