PHP - HTML-Purifier - Hallo, w<o>rld/world tutorial striptags
Ich bin gerade auf der Suche in die Verwendung von HTML Purifier, um sicherzustellen, dass eine vom Benutzer eingegebene Zeichenfolge (steht für den Namen einer person) bereinigt.
Ich nicht wollen, dass alle html-tags Skript -, markup-usw - ich will einfach nur die alpha -, numerische und normale Satzzeichen verwenden.
Die schiere Anzahl der verfügbaren Optionen für den HTML Purifier ist schwierig und, soweit ich sehen kann, sind die docs nicht scheinen, um eine Anfang/Mitte oder Ende
finden Sie unter: http://htmlpurifier.org/docs
Ist es ein einfaches Hallo Welt-online-tutorial für HTML-Purifier, der zeigt, wie zu bereinigen, einen string zu entfernen all die schlechten Dinge aus.
Bin ich auch überlegt, nur mit strip tags:
PHP oder in integrierten Daten bereinigen
InformationsquelleAutor der Frage |
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich mit HTMLPurifier für die Hygienisierung der Ausgang eines rich-text-editor, und endete mit:
Die wichtigsten Punkte des Interesses:
HTMLPurifier_Config
als$config
.$config->set()
.HTMLPurifier
vorbei$config
.$filter->purify()
auf Ihre Eingabe.Jedoch ist es völlig übertrieben für etwas, das nicht zu erlauben, beliebigen HTML-Code in der Ausgabe.
InformationsquelleAutor der Antwort
Sollten Sie tun, input-Validierung auf der Grundlage der Inhalte - zum Beispiel eher einige regexp-Namen für
diese Validierung sollte den job gut. Und dann entkommen die Ausgabe beim drucken auf der Seite, mit am günstigsten gelegene htmlspecialchars.
InformationsquelleAutor der Antwort
Können Sie etwas wie htmlspecialchars() zu bewahren, die Zeichen, die der Benutzer eingegeben hat, ohne den browser zu interpretieren.
InformationsquelleAutor der Antwort
Habe ich immer gedacht, Codeigniter xss-Klasse der Reinigung war ganz gut, aber in letzter Zeit habe ich wandte sich an Kohana.
Haben Sie einen Blick auf Ihre xss_clean Methode
http://github.com/kohana/core/blob/c443c44922ef13421f4a3af5b414e19091bbdce9/classes/kohana/security.php
InformationsquelleAutor der Antwort
Der einfachste Weg, um entfernen Sie alle nicht alphanumerischen Zeichen aus einer Zeichenfolge, die ich denke, ist die Verwendung von RegEx.Ersetzen() wie folgt:
Regex.Ersetzen(stringToCleanUp, "[\W]", "");
Während \w (klein geschrieben) entspricht einem "Wort" - Zeichen, äquivalent zu [a-zA-Z0-9_]
\W entspricht einem beliebigen "nicht-Wort" - Zeichen, dh. alles, was NICHT aufeinander abgestimmt, die von \w.
Der obige code verwenden \W (Großbuchstaben), und ersetzen Sie die Ergebnisse mit nichts.
Als eine alternative, wenn Sie nicht zulassen möchten, dass der Unterstrich können Sie mit [^a-zA-Z0-9], wie diese:
Regex.Ersetzen(stringToCleanUp, "[^a-zA-Z0-9]", "");
InformationsquelleAutor der Antwort
Wenn Sie versuchen, zu entgehen, code-injection-Angriffe, nur stengel die Daten zu speichern und drucken Sie es wie der user eingegeben.
Beispiel: Wenn Sie vermeiden möchten, dass SQL-Injection-Probleme in MySQL verwenden Sie die
mysql_real_escape_string()
Funktion oder ähnliches zur Bereinigung der SQL-Satz. *Anderes Beispiel: Schreiben von Daten in ein HTML-Dokument, die Daten analysieren mit
html_entities()
so werden die Daten angezeigt, wie durch die Benutzer.InformationsquelleAutor der Antwort
Einfachheit halber, können Sie entweder
strip_tags()
oder ersetzen vorkommen von <, >, und & mit<
>
und&
bzw. Dies ist definitiv nicht die beste Lösung, aber die Schnellste.InformationsquelleAutor der Antwort
ich in der Regel reinigen Sie alle Benutzereingaben vor dem senden an meine Datenbank mit den folgenden
InformationsquelleAutor der Antwort
Fand das eine Woche... LIEBE es.
"Ein einfaches PHP-HTML-DOM-parser, geschrieben in PHP5+, unterstützt ungültiges HTML, und bietet eine sehr einfache Möglichkeit zum verarbeiten von HTML-Elementen."
http://simplehtmldom.sourceforge.net/
Können Sie auch Durchlaufen und einzelne Attribute entfernen, etc. Die Doku und Beispiele sind ziemlich gut... ich fand es einfach zu bedienen, in ganz wenigen Orten. 🙂
InformationsquelleAutor der Antwort