Möchten Sie URL-Manipulationen auf dieser Seite verhindern, oder notes.php
?
Ohne notes.php
oder andere Seiten zu sehen, ist es schwer zu sagen. Aber zu verhindern URL Manipulation, es ist immer gut, um die $_SERVER['HTTP_REFERER']
auf sensible Seiten zu überprüfen, indem Sie etwas zu tun, wie:
if ($_SERVER['HTTP_REFERER'] !== "previous_page.php") {
header("Location: error_page.php");
session_destroy();
exit;
}
Aber das ist nicht voller Beweis, denn wenn ein Angreifer auf previous_page.php
ist, kann er einfach auf der Seite durchsucht Wir versuchen zu schützen, daher ist weiterer Schutz erforderlich.
Sie könnten (und sollten) ein Tokensystem implementieren. Dies geschieht folgendermaßen:
$_SESSION['token'] = md5(uniqid(rand(), TRUE));
Dies wird eine schöne lange Zeichenfolge generieren, die für die Person eindeutig ist, die diese Seite durchsucht. Der Zweck dabei ist, diese Session-Variable als $_GET
Variable in die nächste Seite zu übergeben, dann vergleichen Sie die beiden, um sicherzustellen, dass sie einander gleich sind. Dies ist so gemacht:
$token = $_SESSION['token'];
header("Location:notes.php?user=$userEmail&token=$token");
//...then, on notes.php:
if ($_GET['token'] !== $_SESSION['token']) {
header("Location: error_page.php");
session_destroy();
exit;
}
Allerdings könnte eine sehr schlaue Person dies umgehen. Ich würde vorschlagen, mehr über "CSRF Forgery" zu recherchieren. Hoffe, das bringt dich in die richtige Richtung.
Ist diese Datei notes.php? – BoltClock
Ja notes.php ist eine Datei – Unsuspected
Zeigen Sie den Inhalt von notes.php. – davidethell