akynyemi Ответов: 0

Аутентификация пользователей Php MYSQL


Я написал php-код для предоставления доступа вошедшим в систему пользователям с привилегией "1" к странице и для входа в систему, если вошедший в систему пользователь не имеет доступа "1". Но когда я тестирую, он выходит из системы всех пользователей вместо этого

Что я уже пробовал:

<?php
session_start();

$conn = mysqli_connect("localhost","root", "","bosmak_properties");

echo $_SESSION['user_name'];

$query=mysqli_query($conn,"SELECT * from users WHERE user_name =".$_SESSION['user_name']);
while ($row=mysqli_fetch_array($query)){
$privileges=$row['privileges'];
}
if($privileges==1){
header ("Location: project_cost.php");
}
else{
	header ("Location: login/logout.php");
}
?>

Richard MacCutchan

Используйте отладчик, чтобы узнать, какие значения возвращаются из базы данных. Никто здесь не может догадаться о результатах.

akynyemi

Спасибо Ричарду за быстрый ответ. Как мне это сделать, пожалуйста?

Gerry Schmitz

Лучше перестраховаться, чем потом жалеть.

Richard Deeming

Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.

PHP: SQL-инъекция - руководство пользователя[^]
РНР: Подготовленные инструкции и хранимые процедуры - руководство пользователя[^]

0 Ответов