ตัวเข้ารหัส / ถอดรหัส HTML

แสดงอินพุตผู้ใช้อย่างปลอดภัยโดยแปลง < เป็น &lt; และ & เป็น &amp; ถอดรหัส entity เมื่ออ่านชิ้น HTML ที่เก็บไว้กลับเป็นข้อความธรรมดาสำหรับทำดัชนีค้นหา ทำงานในเครื่องสำหรับดีบักเทมเพลตและ CMS

วิธีเข้ารหัสหรือถอดรหัส HTML

1. เลือกโหมดเข้ารหัส (หลีก) หรือถอดรหัส
2. วาง HTML หรือข้อความธรรมดา
3. คัดลอกเอาต์พุตที่หลีกแล้วสำหรับเทมเพลตหรือแอตทริบิวต์
4. ถอดรหัสเพื่ออ่านการส่งออก XML/HTML ที่เต็มไปด้วย entity

ตัวอย่าง HTML entity

แสดงความคิดเห็นผู้ใช้อย่างปลอดภัย

อินพุต <script>alert(1)</script> กลายเป็นข้อความไร้อันตรายเมื่อเข้ารหัสเพื่อแทรกผ่านโหนดข้อความอย่างปลอดภัยต่อ innerHTML

อะพอสทรอฟีในแอตทริบิวต์

O'Reilly ในแอตทริบิวต์ title เข้ารหัสเครื่องหมายคำพูดเป็น &#39; หรือ &apos; ตามบริบท

ถอดรหัสการส่งออก CMS

คำอธิบายสินค้า &amp; copy; ถอดรหัสเป็น & สำหรับแก้ไข

เมื่อไหร่ควรเข้ารหัส HTML

เมื่อแทรกข้อความที่ไม่น่าเชื่อถือในเทมเพลต HTML
เมื่อดีบักการเข้ารหัสซ้ำในเทมเพลตอีเมล
เมื่อเตรียมชิ้น HTML ที่สร้างจาก Markdown

บริบทสำคัญ

การหลีก HTML สำหรับค่าแอตทริบิวต์อาจต่างจากโหนดข้อความ — เครื่องหมายคำพูดสำคัญในแอตทริบิวต์ ชีตโกง OWASP ระบุบริบท JS และ CSS ด้วย

คำถามที่พบบ่อย

entity แบบมีชื่อกับตัวเลข?

&amp; กับ &#38; — เทียบเท่าสำหรับอักขระทั่วไป อีโมจิอาจต้องรูปแบบตัวเลข &#x1F600;

เข้ารหัสทั้งเอกสาร HTML?

การเข้ารหัสทั้งเอกสารแสดงแท็กตามตัวอักษร — โดยปกติเข้ารหัสเฉพาะข้อมูลผู้ใช้

ป้องกัน XSS?

การเข้ารหัสโหนดข้อความช่วย อย่าต่อ HTML ผู้ใช้ดิบ ส่วนหัว CSP เพิ่มการป้องกัน

อักขระ UTF-8?

มักคงเป็น UTF-8 ใน HTML5 สมัยใหม่ entity เป็นทางเลือกสำหรับ non-ASCII

ในเครื่อง?

ใช่