Εξαγωγέας συμβολοσειρών — Διαφυγή και άρση διαφυγής για HTML, XML, JavaScript, Java, .Net, JSON, CSV, SQL
Διαφυγή συμβολοσειράς
Διαφυγή ή άρση διαφυγής συμβολοσειρών για 8 μορφές: HTML, XML, JavaScript, Java, .Net (C#), JSON, CSV και SQL.
Όλη η επεξεργασία γίνεται τοπικά στο πρόγραμμα περιήγησης — τα δεδομένα δεν ανεβαίνουν ποτέ σε κάποιον διακομιστή.
Μορφή:
Κατεύθυνση:
Είσοδος
Έξοδος
⚠ Προειδοποίηση ασφαλείας: Η διαφυγή συμβολοσειρών δεν υποκαθιστά τα παραμετροποιημένα ερωτήματα.
Η διαφυγή από μόνη της ΔΕΝ αποτρέπει το SQL injection. Σε κώδικα παραγωγής χρησιμοποιούνται πάντα παραμετροποιημένα ερωτήματα (prepared statements).
Τρόπος χρήσης: Επιλογή μορφής και κατεύθυνσης (Διαφυγή / Άρση διαφυγής), και στη συνέχεια πληκτρολόγηση ή επικόλληση κειμένου — η έξοδος ενημερώνεται αυτόματα. Το κλικ στο Εκτέλεση ενεργοποιεί τη μετατροπή χειροκίνητα.
Για τις λειτουργίες JSON, JavaScript, Java και .Net, επιλογή του Διαφυγή όλων των μη ASCII χαρακτήρων μετατρέπει χαρακτήρες όπως τα κινέζικα σε ακολουθίες \uXXXX.
Η άρση διαφυγής αναιρεί τη διαφυγή: το < γίνεται <, το \n γίνεται αλλαγή γραμμής κ.λπ.
HTML: Η διαφυγή μετατρέπει τα &<>"' σε οντότητες HTML (&<>"'). Χρησιμοποιείται όταν ενσωματώνεται κείμενο που παράγεται από χρήστες σε HTML, για την αποφυγή επιθέσεων XSS. Η άρση διαφυγής μετατρέπει τις οντότητες HTML (&<>"') πίσω στους αρχικούς χαρακτήρες. Χρησιμοποιεί τον εγγενή αναλυτή HTML του προγράμματος περιήγησης για αξιόπιστη αποκωδικοποίηση όλων των ονομαστικών και αριθμητικών οντοτήτων.
XML: Η διαφυγή μετατρέπει τους ίδιους 5 χαρακτήρες με το HTML (&<>"') σε οντότητες ασφαλείς για XML. Το XML απαιτεί όλα τα & να διαφεύγουν, ακόμη και σε τιμές χαρακτηριστικών. Η άρση διαφυγής μετατρέπει τις οντότητες XML πίσω στους αρχικούς χαρακτήρες. Χειρίζεται τις 5 προκαθορισμένες οντότητες XML και τις αριθμητικές αναφορές χαρακτήρων. Η λογική είναι ίδια με την άρση διαφυγής HTML.
JavaScript: Η διαφυγή μετατρέπει τους ειδικούς χαρακτήρες σε ακολουθίες διαφυγής JavaScript: \n\t\\\"\'\xHH\uHHHH\u{H...}. Χρησιμοποιείται όταν παράγονται δυναμικά literal συμβολοσειρές JavaScript. Η άρση διαφυγής μετατρέπει τις ακολουθίες διαφυγής JavaScript (\n\t\xHH\uHHHH κ.λπ.) πίσω σε literal χαρακτήρες. Καλύπτει όλες τις τυπικές ακολουθίες ECMAScript, συμπεριλαμβανομένων των διαφυγών σημείου κώδικα \u{H...}.
JSON: Η διαφυγή μετατρέπει τα \"\\ και τους χαρακτήρες ελέγχου σε ακολουθίες διαφυγής ασφαλείς για JSON, σύμφωνα με το RFC 8259. Χρησιμοποιείται όταν ενσωματώνεται κείμενο σε τιμές συμβολοσειράς JSON. Η άρση διαφυγής μετατρέπει τις ακολουθίες διαφυγής JSON (\"\\\n\uXXXX κ.λπ.) πίσω σε literal χαρακτήρες. Ακολουθεί το RFC 8259: αποκωδικοποιούνται μόνο έγκυρες ακολουθίες διαφυγής JSON.
CSV: Η διαφυγή κατά RFC 4180 περικλείει τα πεδία σε διπλά εισαγωγικά αν περιέχουν κόμματα, διπλά εισαγωγικά ή αλλαγές γραμμής. Τα εσωτερικά διπλά εισαγωγικά διπλασιάζονται (" → ""). Η άρση διαφυγής αναιρεί τη διαφυγή CSV κατά RFC 4180: αφαιρεί τα εξωτερικά διπλά εισαγωγικά και επαναφέρει τα εσωτερικά διπλά εισαγωγικά ("" → "). Χειρίζεται πεδία πολλών γραμμών και κόμματα μέσα σε εισαγωγικά.
SQL: Η διαφυγή διαφεύγει τα μονά εισαγωγικά διπλασιάζοντάς τα (' → ''), κάτι που λειτουργεί σε όλες τις μεγάλες βάσεις (MySQL, PostgreSQL, SQL Server, SQLite). Καλύπτει μόνο τη διαφυγή literal συμβολοσειρών — δεν προστατεύει από SQL injection σε δυναμικά ερωτήματα. Η άρση διαφυγής μετατρέπει τα διπλασιασμένα μονά εισαγωγικά ('' → ') πίσω σε μονά εισαγωγικά. Αναιρεί την τυπική διαφυγή literal συμβολοσειρών SQL.
Java: Η διαφυγή μετατρέπει τους ειδικούς χαρακτήρες σε ακολουθίες διαφυγής Java: \n\t\r\\\"\'\uXXXX κ.λπ. Χρησιμοποιείται όταν παράγονται literal συμβολοσειρές Java. Η άρση διαφυγής μετατρέπει τις ακολουθίες διαφυγής Java πίσω σε literal χαρακτήρες. Καλύπτει όλες τις τυπικές ακολουθίες διαφυγής Java, συμπεριλαμβανομένων των Unicode διαφυγών \uXXXX.
.Net (C#): Η διαφυγή μετατρέπει τους ειδικούς χαρακτήρες σε ακολουθίες διαφυγής C#: \n\t\r\a\v\0\\\"\uXXXX\UHHHHHHHH κ.λπ. Χρησιμοποιείται όταν παράγονται literal συμβολοσειρές C#. Η άρση διαφυγής μετατρέπει τις ακολουθίες διαφυγής C# πίσω σε literal χαρακτήρες. Καλύπτει όλες τις τυπικές ακολουθίες C#, συμπεριλαμβανομένων των \UHHHHHHHH UTF-32 και των διαφυγών δεκαεξαδικών \xHH... μεταβλητού μήκους.
Η διαφυγή εξαρτάται από το πλαίσιο
Το ίδιο κείμενο χρειάζεται διαφορετικές διαφυγές ανάλογα με το σημείο όπου καταλήγει: το σώμα HTML χρειάζεται < & >, μια γραμμή χαρακτηριστικού σε διπλά εισαγωγικά χρειάζεται επιπλέον ", μια συμβολοσειρά JavaScript χρειάζεται διαφυγές με ανάστροφη κάθετο και μια διεύθυνση URL χρειάζεται κωδικοποίηση ποσοστού. Η διαφυγή για λάθος πλαίσιο είναι ο τρόπος που προκύπτουν έγχυση markup και XSS.
Κανόνας: διαφυγή για τον προορισμό, όχι για την πηγή — η απόφαση γίνεται με βάση το πού πηγαίνουν τα δεδομένα, όχι από πού προήλθαν.
🔷 Εξαγωγέας συμβολοσειρών
Επικόλληση κειμένου και επιλογή μορφής για διαφυγή ή άρση διαφυγής.