ich hätte mal wieder eine Frage. Ich habe ein Script was viele User auf einmal nutzen könnten.
Nun können alle User über ein Formular (von dort wird auch die User-ID des Users an eine Funktion übetragen) auch ihre Daten ändern.
Nun könnte aber User ID 1 auch die Daten von User mit ID 2 ändern. Dazu muss er sich ja nur das Formular anschauen und den Link dementsprechend ändern.
meineDatei.php?daten=update&id=2
Wie lässt sich sowas am besten und auch sicher abprüfen?
Die Funktion schaut so aus -
Code: Alles auswählen
function DatenUpdate()
{
// damit hole ich mir die ID des Users
$abfrage = "SELECT * FROM login_daten where `benutzername` = '" .mysql_real_escape_string( $_SESSION['benutzername'] ). "' and aktiv=1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
// Hier vergleiche ich die ID (Formular und Abfrage oben
// Wenn beide gleich sind Update ausführen
if($row->id == $_POST['id']) {
$aendern = "UPDATE login_daten Set
id = '".$_POST["id"]."',
benutzername = '" .mysql_real_escape_string( $_SESSION['benutzername'] ). "',
firma = '". mysql_real_escape_string($_POST["firma"])."',
url = '". mysql_real_escape_string($_POST["url"])."',
name = '". mysql_real_escape_string($_POST["name"])."',
strasse = '". mysql_real_escape_string($_POST["strasse"])."',
plz = '". mysql_real_escape_string($_POST["plz"])."',
ort = '". mysql_real_escape_string($_POST["ort"])."',
email = '". mysql_real_escape_string($_POST["email"])."'
WHERE aktiv = 1 and benutzername = '" .mysql_real_escape_string( $_SESSION['benutzername'] ). "'";
$update = mysql_query($aendern);
} else {
echo"Kein Zugriff";
}
}