A szökést könnyű tévedni, mert több különböző munka távolról nézve hasonlónak tűnik. Önnek szövege van, a szöveg speciális karaktereket tartalmaz, és egy másik rendszernek félreértés nélkül kell fogadnia. Az a hiba, hogy azt feltételezzük, hogy egyfajta menekülés mindenhol működik.
Az URL-kódolás, a HTML-kihagyás és a JSON-kilépés különféle problémákat old meg. A szóköz a lekérdezési karakterláncban nem ugyanaz a probléma, mint egy < karakter a renderelt HTML-ben vagy egy idézőjel a JSON-karakterláncban. A Case / Slug / Escape eszköz segít egymáshoz közel tartani ezeket a kimeneteket, de hasznos tudnivaló, hogy melyik kimenet tartozik az előkészített célhoz.
Az URL-kódolás az URL-ekhez és a lekérdezési értékekhez való
Használjon URL-kódolást, ha szöveg kerül egy URL-összetevőbe, különösen egy lekérdezési paraméter vagy olyan érték, amely szóközöket, írásjeleket vagy nem elérési útra nem alkalmas karaktereket tartalmazhat.
Tegyük fel, hogy a támogatási linknek tartalmaznia kell egy keresési kifejezést, például pricing & billing. Ha ezt a kifejezést közvetlenül egy URL-be illeszti be, az megváltoztathatja az URL értelmezését, mivel a & már rendelkezik jelentéssel a lekérdezési karakterláncon belül. Az URL-kódolás a szöveget olyan formává alakítja, amely az URL-en belül haladhat anélkül, hogy összekeverné az URL-szintaxist.
Ez eltér a slug létrehozásától. A slug általában a címet egy olvasható útvonalszakasszá alakítja, például pricing-and-billing. Az URL-kódolás közvetlenül megőrzi az eredeti értéket a szállításhoz.
A HTML-kilépés a HTML-ben megjelenített szövegre vonatkozik
Használjon HTML-kihagyást, ha a szövegnek szövegként kell megjelennie egy HTML-környezetben, nem pedig jelöléssé kell válnia.
Ha egy kódpélda tartalmazza a <button> kódot, és azt szeretné, hogy az olvasók lássák ezeket a karaktereket, a böngészőnek meg kell változtatnia a karaktereket. Ellenkező esetben tényleges elemként értelmezheti őket. A HTML menekülés azt jelenti, hogy megakadályozza a szöveg HTML szintaxisként történő olvasását olyan helyeken, ahol a tartalomnak látható szövegnek kell maradnia.
Ez számít a dokumentációban, a CMS-mezőkben, a változásnaplókban és a termékmásolatban. Ez különösen fontos, ha a forrásszöveg jelölésekre, töredékekre vagy a felhasználó által generált értékekre példákat tartalmaz, amelyek nem válhatnak az oldalszerkezet részévé.
A JSON-kihagyás a JSON-on belüli karakterlánc-értékekre vonatkozik
Használjon JSON-kihagyást, ha a szövegnek biztonságosan kell lennie egy JSON-karakterláncban.
Az idézőjel a normál prózában ártalmatlan, de a JSON-karakterláncon belül korán bezárhatja a karakterláncot. Az újsornak olyan ábrázolásra is szüksége lehet, amely megőrzi a JSON érvényességét. A JSON-megszökés az érték megőrzéséről szól, miközben a környező JSON-t értelmezhetővé teszi.
Ez gyakran megjelenik, amikor a csapatok API-példákat, konfigurációs kódrészleteket, elemzési hasznos adatokat vagy mintaadatokat osztanak meg. Ha a következő lépés a szélesebb körű strukturált adatok tisztítása, párosítsa ezt a cikket a JSON formázása az API-példa megosztása előtt és a JSON/YAML/TOML konverter elemmel.
Válassza ki a kilépést a cél alapján
A legegyszerűbb szabály az első a cél.
| Rendeltetési hely | Használat | Miért |
|---|---|---|
| URL-lekérdezés értéke vagy URL-összetevő | URL kódolás | Megakadályozza, hogy a szöveget URL-szintaxisként értelmezzék |
| Látható szöveg a HTML-ben | HTML menekülés | Megakadályozza, hogy a speciális karakterek jelölésekké váljanak |
| Karakterlánc értéke a JSON-on belül | JSON menekülés | Elemezhetővé teszi az idézőjeleket, a perjeleket és a sortöréseket |
| Nyilvános cikk vagy útvonal címe | Slug generáció | Olvasható útvonalszöveget hoz létre, nem pedig minden karaktert megőriz |
A konvertálás segít, mert egyszer beillesztheti és összehasonlíthatja a kimeneteket anélkül, hogy minden egyes esethez külön kódolót nyitna meg. Ezzel arányos a munka. Ön nem csővezetéket épít; készít egy szövegértéket arra a helyre, ahová el kell kerülnie.
Nyissa meg a Case / Slug / Escape eszközt, amikor el kell döntenie, hogy a következő kimenet slug, URL-kódolt érték, HTML-biztonságos szöveg vagy JSON-biztos karakterlánc legyen.



