Dieser Code wird zum Beispiel der Zeichenfolge des Kommentars für die Datenbank nicht entkommen:
if ($_POST['comment']) {
$comment = mysql_real_escape_string(htmlentities($_POST['comment_txt']));
$comment_insert = mysql_query("UPDATE msgs SET msg='$comment' WHERE user='$username'")
or die;
}
aber dies wird:
if ($_POST['comment']) {
$comment_p = $_POST['comment_txt'];
$comment = mysql_real_escape_string(htmlentities($comment_p));
$comment_insert = mysql_query("UPDATE msgs SET msg='$comment' WHERE user='$username'")
or die;
}
Warum? Warum kann ich nicht einfach den $ _POST-Wert verlassen? Warum muss ich eine neue $ Variable für $ _POST definieren, um sie zu umgehen? Dies ist Sicherheitszange. Ich werde irgendwann zu PDO wechseln, aber im Moment stecke ich mit der alten MySQL-API fest.
Ja, sorry, ich habe hier vertippt. Redigierte den Code in der Frage jetzt. Vielen Dank. –
Es funktioniert auf '$ _POST' auch .. ich benutze immer die Funktion direkt auf' $ _POST', es scheint kein Problem in ur-Code, ich denke, kann wegen 'mysql' sein, einmal versuchen mit' mysqli' – phpfresher