Har ändrat lite i koden. Hoppas jag jämför rätt för ett fullgott skydd med frågor osv. Kan det göras bättre vid frågor mm? Fått för mig att spara 'id' i en kaka borde vara ok.
Har en fil 'check_login-php' som ser ut enligt följande
<?php
if (empty(mysqli_real_escape_string($conn, $_COOKIE['sodastream'])))
{
header("location: login.php");
exit;
}
$idKaka = mysqli_real_escape_string($conn, $_COOKIE['sodastream']);
$login = 'SELECT * FROM members WHERE id = ?';
if($stmt = $conn->prepare($login))
{
$stmt->bind_param('i',$idKaka);
$stmt->execute();
$stmt->store_result();
$num_of_rows = $stmt->num_rows;
$stmt->bind_result($id, $user, $pass, $niva, $email);
while ($stmt->fetch())
$stmt->free_result();
$stmt->close();
}
?>
På de sidor jag vill skydda har jag detta beroende vilken nivå som ska få se den
<?php
include "/includes/check_login.php";
if (intval($idKaka != $id) || intval($niva) > 2)
{
header("location: login.php");
exit;
}
?>
Spara användar-id i en kaka är nog bland det sämsta sättet jag sett att skydda sig på. Det är inte svårt alls att leta upp kakan och manipulera den och vips så är man inloggad som någon annan.
...om jag tolkat de små delar koden du delat med dig av rätt.
Spara användar-id i en kaka är nog bland det sämsta sättet jag sett att skydda sig på. Det är inte svårt alls att leta upp kakan och manipulera den och vips så är man inloggad som någon annan.
...om jag tolkat de små delar koden du delat med dig av rätt.