Σταματήστε τις επιθέσεις XSS με το SafeHTML - 💡 Fix My Ideas

Σταματήστε τις επιθέσεις XSS με το SafeHTML

Σταματήστε τις επιθέσεις XSS με το SafeHTML


Συγγραφέας: Ethan Holmes, 2019

Εάν επιτρέπετε περιεχόμενο που έχει προσφερθεί από τον χρήστη στον ιστότοπό σας, αντιμετωπίζετε το πρόβλημα της αντιμετώπισης του HTML που παρέχεται από τον χρήστη με ασφαλή τρόπο. Ο πιο ασφαλής τρόπος αντιμετώπισης των πραγμάτων, φυσικά, είναι η απογύμνωση ή η διαφυγή όλων των HTML από τα πεδία εισαγωγής των χρηστών. Δυστυχώς, υπάρχουν πολλές καταστάσεις όπου θα ήταν ωραίο να επιτρέπεται ένα μεγάλο υποσύνολο εισόδου HTML, αλλά να αποκλείεται οτιδήποτε δυνητικά επικίνδυνο.

Το SafeHTML είναι ένα ελαφρύ απολυμαντικό εισόδου χρηστών PHP που κάνει ακριβώς αυτό. Απλά εκτελέστε οποιοδήποτε πεδίο εισαγωγής μέσω του φίλτρου SafeHTML και τυχόν javascript, ετικέτες αντικειμένου ή ετικέτες σπάσιμο διάταξης θα αφαιρεθούν από το παρεχόμενο κείμενο. Κάνει επίσης μια λογική δουλειά για τη διόρθωση τυχόν gnarly, παραμορφωμένο κώδικα, το οποίο είναι επίσης ένα συνηθισμένο πρόβλημα με τα δεδομένα που συνεισφέρουν οι χρήστες.

Η χρήση του είναι εύκολη. Απλώς παράσταση του αντικειμένου SafeHTML και κλήση της μεθόδου ανάλυσης:

require_once ('classes / safehtml.php').

$ safehtml = & νέα SafeHTML ();

αν είναι (isset ($ _POST ["inputfield"])) {$ inputfield = $ _ POST ["inputfield"]; $ cleaninput = $ safehtml-> ανάλυση ($ inputfield); }}

Αυτό θα πάρει την αναρτημένη παράμετρο "inputfield", θα λυθεί οποιοσδήποτε κακοί, XHTMLify ό, τι έχει απομείνει και το αποτέλεσμα θα αποθηκευτεί στη μεταβλητή $ cleaninput. Είναι μια απλή προσθήκη στον κωδικό σας, και πολύ πιο απλή από ό, τι προσπαθεί να κυλήσει το δικό σας.

Το μόνο βόειο κρέας μου με το πακέτο είναι ότι είναι γραμμένο με μια πολιτική προεπιλεγμένων δικαιωμάτων, αφαιρώντας τις ετικέτες που βρίσκονται στη συστοιχία deleteTags του, αλλά ουσιαστικά επιτρέποντας οτιδήποτε άλλο μέσω. Αν προτιμάτε μόνο να αφήσετε μέσω ετικετών που θέλετε να επιτρέψετε συγκεκριμένα, θα συνιστούσατε να προσθέσετε έναν πίνακα allowTags και να προσαρμόσετε τη μέθοδο _openHandler προσθέτοντας τα ακόλουθα μετά τον έλεγχο deleteTags:

αν (! in_array ($ name, $ this-> allowTags)) {επιστροφή true; }}

Θα χρειαστεί να συμπληρώσετε τα allowTags με όλα όσα γνωρίζετε για να είστε ασφαλείς και ευπρόσδεκτοι και ίσως να χάσετε λίγα που οι άνθρωποι θα καταλήξουν να θέλουν να χρησιμοποιήσουν νόμιμα, αλλά αυτό διορθώνεται εύκολα και η πολιτική άρνησης προεπιλογής είναι πολύ πιο ασφαλής μακροπρόθεσμα .

SafeHTML - ένας ανιχνευτής HTML κατά του XSS, γραμμένος σε PHP



Μπορεί Να Σας Ενδιαφέρει

Πώς να Τρίτη: Κίνδυνος Ασπίδα

Πώς να Τρίτη: Κίνδυνος Ασπίδα


Πώς να Τρίτη: Scariest κολοκύθα ποτέ

Πώς να Τρίτη: Scariest κολοκύθα ποτέ


Απόκριες μάσκα μάσκα φαντασίας

Απόκριες μάσκα μάσκα φαντασίας


Stitch Austin ανακεφαλαίωση

Stitch Austin ανακεφαλαίωση






Πρόσφατες Δημοσιεύσεις