Es ist einfach, die ASP -Website mit Dreamweaver zu entwickeln. Gibt es also keinen Unterschied zwischen Anfängern und Veteranen? Der Unterschied darin ist groß, aber es ist schwierig für den Laien, auf einen Blick zu sehen. Die Freundschaft, die Betriebsleistung und die Sicherheit der Website der Schnittstelle sind die drei Konzentrationspunkte, die sich von Anfängern und Veteranen unterscheiden.
In Bezug auf die Sicherheit ist das einfachste Problem der Anfänger das Problem von SQL injizierten Schwachstellen. Verwenden Sie NBSI 2.0, um einige ASP -Websites im Internet zu scannen, und Sie können feststellen, dass viele ASP -Websites SQL -Injektionsanfälligkeiten haben.
Die SO -genannte SQL -Injektion (SQL -Injektion) besteht darin, die Lücken der Eingabedaten des Programmierers an die Eingabedaten des Benutzers zu verwenden, die die Lücken wie unzureichende Erkennung oder nicht Erkennung verwenden.
Es ist zu erkennen, dass der Hauptgrund für die SQL -Injektion von Angriffen die vom Benutzer eingegebenen Daten nicht überprüft.
Die allgemeine HTTP -Anfrage ist nichts anderes als zu erhalten und zu posten. Solange wir alle Parameterinformationen aller Beiträge filtern oder Anfragen im Programm abrufen, können wir SQL -Injektionsangriffe verhindern.
Leider liefert DW keinen relevanten Code. Wenn Sie also den SQL -Injektionstyp -Angriff verhindern möchten, müssen Sie ihn ändern.
Speichern Sie einfach das folgende Programm als sqlinjjjunction.asp und rufen Sie dann den Header der Seiten an, die injiziert werden müssen.
<!-#include file = sqlinjjjeipition.asp->
Sie können Seitenverteidigungseinspritzung durchführen.
Wenn Sie sich auf die gesamte Station beziehen möchten, fügen Sie Kopfaufrufe hinzu oder fügen Sie den folgenden Programmcode in der Datenbankverbindungsdatei direkt hinzu, die von der von DW generierten Verbindung generiert wird. Datenbankverbindungsdatei.
Allgemeiner Programmcode (aus dem Internet zitiert, um geeignete Änderungen vorzunehmen) wie folgt:
<%
'--------- Definitionsteile -------------------
Dim Sql_injdata
Sql_injdata = '|
|
|.
Sql_inj = split (sql_injdata, | | |
'-----------------------------
Wenn Request.queryString <> dann
Für jedes SQL_get in Request.queryString
Für SQL_DATA = 0 bis Ubound (SQL_inj)
If instr (Request.queryString (SQL_get),
SQL_INJ (SQL_DATA))> 0 Dann
Response.write <script Language = JavaScript>
ALERT ('System erinnert Sie!
Antwort.end
Ende wenn
nächste
Nächste
Ende wenn
'-------- Teile bekommen ---------------------
Wenn request.form <> dann
Für jeden SQL_POST in request.form.form
Für SQL_DATA = 0 bis Ubound (SQL_inj)
if instr (request.form (sql_post), sql_inj (sql_data))> 0 dann
Response.write <script Language = JavaScript>
ALERT ('System erinnert Sie!
Antwort.end
Ende wenn
nächste
nächste
Ende wenn
%>
Durch das obige Programm kann das aus der GET -Methode oder der Postmethode eingereichte Gefahr -SQL -Injektionscharakter erreicht werden, und die Invasoren werden gewarnt, sich an INDEX.HTM (Homepage) zuzuwenden.