Mam takie pytanie odnośnie bezpieczeństwa $_SESSION.
Jeśli loguje się w taki sposłób:
if($zapytanie = $polaczenie->query(
sprintf("SELECT id_users, haslo, login, monety FROM users WHERE login = '%s'", mysqli_real_escape_string($polaczenie, $login))))
{
$ile_login = $zapytanie->num_rows;
if($ile_login > 0)
{
$wiersz = $zapytanie->fetch_assoc();
if(password_verify($haslo, $wiersz['haslo']))
{
$_SESSION['zalogowany'] = true;
$_SESSION['id'] = $wiersz['id_users'];
$_SESSION['login'] = $wiersz['login'];
$_SESSION['monety'] = $wiersz['monety'];
$_SESSION['ranga'] = $wiersz['id_rangi'];
$zapytanie->free_result();
header('Location: '.linkGenerator
('news').''); }else{
header('Location: '.linkGenerator
('logowanie').''); }
}else
{
header('Location: '.linkGenerator
('logowanie').''); }
}else
{
throw new Exception($polaczenie->error);
}
i do tego na podstronie stosuje
if(isset($_POST['submit'])) {
try
{
if($polaczenie->connect_errno != 0)
{
throw new Exception($polaczenie-mysqli_connect_errno());
}else
{
[color="#FF0000"]$login = $_SESSION['id'];[/color]
if(!$zapytanie = $polaczenie->query("SELECT * FROM message WHERE id_user = $login"))
{
throw new Exception($polaczenie->error);
}else
{
//wyypisanie wiadomosci
}
$polaczenie->close();
}
}
}catch(Exception $e)
{
}
To czy ten drugi zapis jest bezpieczny? (Zaznaczyłęm na czerwono o które fragmenty głównie mi choodzi).
Czy pobieranie z takiej sessi do zmiennej jest dobre i czy można w taką sesję ingerować przy tym zapisie?
Ten post edytował djtomaszq 22.09.2016, 09:32:23