Frage

  1. habe ich parametrisierte Abfrage Anzahl, wie oft benutze ich weiß, dass es hilft, SQL-Injection zu verhindern. Aber ich frage mich, ob ich weiß, was grundlegende logisch Arbeits innerhalb einer parametrisierten Abfrage zu Verhindern, dass SQL-Injection sein kann, ist es sehr einfach, aber ich weiß nicht darüber. Ich habe versucht, Google zu suchen, was der Grund davon ist aber jedes Mal, wenn ich ein Beispiel herausgefunden, dass, wie parametrisierte Abfrage in Asp.net verwenden.
  2. Ich weiß, dass eine spezielle Klasse zu machen, die wie jene Sonderzeichen stoppen (‘, - usw.), die in SQL-Injektion verwendet werden, aber nicht stoppt nur Sonderzeichen völlig SQL-Injection verhindert
  3. ?
  4. Und eine letzte Sache ist .net parametrisierte Abfrage kann vollständig SQL-Injection stoppen?
War es hilfreich?

Lösung

Ich denke, parametrisierte Abfragen sind nicht abhängig von vorbereiteten Abfragen Datenbank-Unterstützung. Datenbanktreiber selbst Werte den sicheren Weg vorbei, und wie wird es abhängig von Fahrern selbst durchgeführt.

Das PostgreSQL Handbuch erläutert Grundlagen über parametrisierte Abfragen auf Datenbank Ebene.

Auf der anderen Seite, parametrisiert Abfragen vereinfacht Sie locale sensible Daten übergeben. Zum Beispiel tritt Benutzer 100,00 dezimal, aber Ihr Server erwartet 100,00 Wert.

Andere Tipps

In jeder Datenbank-Engine Ich weiß, mit „vorbereitet“ (auch bekannt als „parametrisiert“ oder „statisch“) fragt verhindert SQL-Injection. Sie haben noch keine Zeichen filtern müssen, wenn sie übergebenen Parameter sind zu werden. Wenn Sie jemals SQL schreiben, die zusammen in Code verkettet wird, statt mit den Parametern vorbereitet, sind Sie wahrscheinlich mit einem Risiko für SQL-Injection. Sie sollten das Sicherheitshandbuch für die Datenbank, die Sie verwenden, wird es sehr wahrscheinlich, einen Abschnitt über SQL-Injection, aber nur alle es lesen. Ich wette, es weniger als eine Stunde dauern wird und geben Ihnen solide Unterricht und das Vertrauen, dass Sie folgende besten Praktiken, die auf Ihre Datenbank gelten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top