User prüfen
Verfasst: 25.06.2009, 00:07
Hallo,
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 -
Ich frage mich ob das sicher genug ist? Wenn nein - wie müsste man die Abprüfung machen?
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";
}
}