Gute Möglichkeit, Eingaben in klassischem ASP zu bereinigen

7

Ich muss alte Projekte bei der Arbeit aktualisieren. Ich habe keine Erfahrung mit klassischem Asp, obwohl ich mit PHP Scripting vertraut bin.

  • Gibt es irgendwelche Funktionen, die ich verwenden sollte?
  • Können Sie mir eine gute Funktion für einen grundlegenden Schutz bieten?
  • Gibt es so etwas wie eine parametrisierte Abfrage in asp?

Danke!

    
Sander Versluys 14.01.2009, 18:43
quelle

5 Antworten

9

Sander,

Ja, Sie können parametrisierte Abfragen im klassischen ASP (genauer gesagt im klassischen ADO) verwenden.

Hier ist ein Link .

Wie bei der Ausgabe von Codierungen könnte ich versucht sein, einen Wrapper für die neueste Microsoft Anti-XSS-Bibliothek zu erstellen und ihn mit Server.CreateObject aufzurufen. Ich bin weit davon entfernt, ein Experte für solche Dinge zu sein, da ich viel mehr Zeit in .Net verbringe, also denke ich, dass das funktionieren würde.

Server.HTMLEncode ist wirklich nicht gut genug, da es nur ein paar Kodierungszeichen auf die schwarze Liste setzt. Die Anti-XSS-Bibliothek ist viel besser, da sie weiß, was akzeptabel ist.

    
Flory 14.01.2009, 20:34
quelle
8

Verwenden Sie immer Server.HTMLEncode, um Benutzereingaben zu bereinigen.

Wenn Sie beispielsweise eine Variable aus einem Formular-Textfeld auswählen:

firstName = Server.HTMLEncode (trim (request.form ("Vorname")))

    
Don 14.01.2009 18:53
quelle
2

Achten Sie auf SQL-Injection. Verknüpfen Sie Benutzereingaben nicht mit einer SQL-Zeichenfolge und führen Sie sie dann aus. Stattdessen werden immer parametrisierte Abfragen verwendet.

    
RedFilter 14.01.2009 19:14
quelle
1

Es gibt eine Reihe von Funktionen, die mit Is beginnen, z. B. IsNumber , IsArray usw., die von Interesse sein könnten. Auch wenn Sie eine ganze Zahl erwarten, können Sie CLng(Request("blabla")) verwenden, um sie zu erhalten. Wenn es sich also nicht um eine Ganzzahl handelt, wird die CLng-Funktion einen Fehler auslösen.

    
svinto 14.01.2009 19:21
quelle
1

Eine Möglichkeit besteht darin, eine Überprüfung in einer header.asp -Datei hinzuzufügen, die das Objekt Request durchsucht und nach unpassenden Zeichen sucht. Zum Beispiel:

%Vor%     
user19471 14.01.2009 19:35
quelle