Eine meiner Webseiten wurde kürzlich und wird (laufend) ständig angegriffen. Ein JavaScript-Skript wird irgendwie in die MySQL-Datenbank eingefügt.JavaScript MySQL Injection Prevention
Ich verwende die folgenden:
$unsafe_variable = addslashes(htmlspecialchars(strip_tags(mysql_real_escape_string($_POST['user_input']))));
mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
jedoch der Hacker noch in der Lage ist, ein "Skript" Tag einzufügen. Ich habe keine Ahnung wie. Ich habe einen Wortfilter und habe das Wort "script" auf die schwarze Liste gesetzt, das blockiert wird, wenn ich einen Test auf der Site poste. Wie ist er/sie in der Lage, es durchzukommen?
Die oben ist ein Screenshot von dem Eintrag in die Datenbank. Hat jemand Ideen, wie ich das verhindern kann?
Alle vier Funktionen sind keine "Schutzmechanismen". Sie konvertieren Daten. Wie diese Daten in Ihre Datenbank gelangen, ist relevant. Bitte poste stattdessen * diesen * Code, damit wir helfen können. –
Es gibt wirklich nicht genug Informationen, um hier weiterzumachen. Wie werden die von Ihnen angegebenen Funktionen in welcher Reihenfolge angewendet? Es ist möglich, wenn sie in der falschen Reihenfolge sind, dann ist Ihr Schutz selbstzerstörerisch. – Chris
Fixiere nicht den * Eingang *. Korrigiere die * Ausgabe *. Verwenden Sie 'htmlspecialchars', wenn dieses Feld Ihren Benutzern angezeigt wird. – ceejayoz