Codeigniter xss_clean Dilemma

Ich weiß, dass diese Frage immer und immer wieder gestellt wurde, aber ich habe immer noch nicht die perfekte Antwort für meinen Geschmack gefunden, also geht es wieder los ...

Ich habe viele polarisierende Kommentare zu CIs xss_filter gelesen. Grundsätzlich sagt die Mehrheit, dass es schlecht ist. Kann jemand erläutern, wie schlecht es ist, oder zumindest ein wahrscheinlichstes Szenario angeben, in dem es ausgenutzt werden kann? Ich habe mir die Sicherheitsklasse in CI 2.1 angesehen und finde sie ziemlich gut, da sie keine böswilligen Zeichenfolgen wie document.cookie, document.write usw. zulässt.

Wenn die Site im Grunde genommen keine HTML-Präsentation hat, ist es sicher, globales xss_filter zu verwenden (oder, wenn es WIRKLICH die Leistung so stark beeinträchtigt, verwenden Sie es vor dem Einfügen in die Datenbank auf Basis des Post-Formulars)? Ich habe über die Vor- und Nachteile gelesen, ob man bei der Eingabe / Ausgabe mit der Mehrheit davonkommen soll, dass wir nur bei der Ausgabe davonkommen sollen. Aber andererseits, warum lassen Sie Zeichenfolgen wie<a href="javascript:stealCookie()">Click Me</a> überhaupt in der Datenbank gespeichert werden?

Das einzige, was ich nicht mag, istjavascript: und solche werden umgewandelt in[removed]. Kann ich den Sicherheitskern des CIs erweitern?$_never_allowed_str Arrays, so dass die niemals erlaubten Zeichenfolgen nicht leer, sondern leer zurückkehren[removed].

Das beste vernünftige Fehlverhaltensbeispiel, das ich gelesen habe, ist, wenn ein Benutzer das Kennwort von hatjavascript:123 Es wird in gereinigt[removed]123 was bedeutet, String wie folgtdocument.write123 wird auch als Passwort des Benutzers übergeben. Andererseits, wie hoch ist die Wahrscheinlichkeit, dass das passiert, und selbst wenn es passiert, kann ich mir keinen wirklichen Schaden vorstellen, der der Site zugefügt werden kann.

Vielen Dank

Antworten auf die Frage(1)

Ihre Antwort auf die Frage