page1.php:Czy użytkownik może zmodyfikować sesję PHP?
<?php
session_start();
if ($_POST['password'] == "testpass")
$_SESSION['authenticated'] = true;
?>
page2.php
<?php
session_start();
if (isset($_SESSION['authenticated']) && $_SESSION['authenticated'] == true) {
echo "Super secret stuff!";
}
?>
Czy użytkownik może dostać się bez super bezpieczne hasło?
Użytkownik nie może modyfikować sesje PHP na serwerze. Mogą jedynie wymyślić legalne ciasteczko i maskować się jako zalogowany użytkownik, ale to będzie wymagało od nich kradzieży ważnego pliku cookie. – AbdullahC
Nie musisz sprawdzać swojej zmiennej względem wartości true w teście, ale porównując wartości binarne, lepiej jest użyć identycznego porównania. $ test === true. Staraj się być surowym, gdy tylko jest to możliwe. – MetalFrog
@MetalFrog Wiem, ale jeśli to nie było uwierzytelnienie (tylko benchmark w tym przypadku) użyłbym ==, ponieważ mogę również podać "true" lub 1 lub "1" – BronzeByte