Verhinderung von SQL-injection mit JavaScript/jQuery

Bin ich mit JSP eine Weile. Ich habe diese select-Anweisung:

query = "SELECT * FROM USER_PASS WHERE USERNAME = '" + name + "'";

Ist anfällig für SQL-Injektionen. Ich suchte einige Artikel und fand, dass ich kann verwenden Sie vorbereitete Anweisungen auf SQL-injections vermeiden. Ich finde es eher verwirrend. Meine Meinung ist, wenn ich finden kann Eingänge, wie ;, ' oder -- im input gegeben, durch den Benutzer, dann kann ich Ihnen zeigen eine alert-Meldung, dass Sie nicht verwenden können, diese Symbole hier, und ich werde nicht die Daten. So könnte mein JavaScript code:

function validateSQL()
{
var x=document.forms["myForm"]["username"].value;
var pos = 0;
pos=x.indexOf("'");
if (pos!=0)
  {
  alert("Trying to hack me?");
  return false;
  }
}

Was ist besser zu verwenden? Hat das irgendwelche Nachteile?

  • Wer sagt, dass der Angreifer mit dem frontend? Automatisierte SQL-injection-tools nur senden von HTTP-Anforderungen.
  • Ich Schreibe ein preparedstatement statt dieser javascript code dann wird es verhindern, dass Injektionen?
  • Ich würde +10 Blender ' s Kommentar, wenn ich könnte - glauben Sie nicht der client. Vorbereitete Anweisungen, die auf dem server verhindern, dass alle SQL-injection-Angriffe (aber nicht unbedingt andere Oberflächen). Nicht: Verhindern, dass schlechte Informationen, ist ausserhalb der Möglichkeit von SQL-injection-Angriffe.
  • Soll ich also löschen der Frage? Ich bekam die Antwort, die ich suchte. Aus deinem Kommentar
InformationsquelleAutor Kunu Munu | 2013-02-23
Schreibe einen Kommentar