2009-07-06 11 views
3

Ich habe eine "Datenbank" von many XSS attacks gefunden und während diese Liste eine ziemlich große Liste von Angriffen bietet, gibt es andere Angriffe, die nicht in das XML fallen, worauf man achten sollte und am meisten unerwartet ?XSS Attacks Prevention

Antwort

3

Nicht sicher, was genau Sie suchen, aber wenn Sie XSS-Angriffe auf Ihrer Website verhindern möchten, würde ich sagen, HTML überhaupt nicht zulassen. Wenn Sie HTML zulassen möchten, sehen Sie, wie es in StackOverflow funktioniert.

Sie könnten ein paar Dinge finden, die die andere Seite here verpasst hat.

+0

Auch ... HTML nie ohne Whitelisting-Ansatz zulassen. Rollen Sie nicht Ihre eigene Whitelisting-Bibliothek, verwenden Sie einfach eine der Standardbibliotheken. –

2

Es ist ein sehr umfangreiches Thema und benötigt detaillierte und aktuelle Kenntnisse der Techniken, die von Hackern für die Durchführung von XSS verwendet werden. Aber zu Beginn sollten Sie nichts Benutzereingaben vertrauen. Versuchen Sie es als möglichen Versuch, Ihre Website zu hacken oder Ihre Datenbank zu beschädigen.

können Sie viele Reinigungswerkzeuge zur Verfügung verwenden wie mögliche schädliche Eingabe zu entfernen:

für asp.net Microsoft Anti-XSS-Bibliothek, HTML Agility-Pack von Codeplex.

für PHP können Sie sicherlich HTMLPurifier verwenden. Es ist ein sehr schönes und fähiges Werkzeug.

+0

:(Das nächste Mal wird alle Tags vor der Beantwortung lesen. – TheVillageIdiot

4

Ich habe HTML Purifier verwendet, um Benutzern zu erlauben, nur bestimmte, sichere, HTML in Kommentar-Textfelder vorher einzugeben. Es macht einen sehr guten Job und hat eine sehr gute Dokumentation.

Für alles andere, wie ein einfaches Textfeld oder Auswahlfeld, wenn der Wert auf der Seite zu schreiben Ich betreibe es immer durch htmlentities():

htmlentities ($_POST['email'], ENT_QUOTES); 

Solange alle Benutzer übermittelten Daten immer geschrieben wird die Seite mit htmlentities() sollten Sie nie ein XSS-Problem haben.