nicetool.dev logo

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

Escape ข้อความก่อนใส่ลงใน HTML เพื่อป้องกันหน้าเว็บเสียรูปและ XSS

อินพุต
ผลลัพธ์

Entity ที่ใช้บ่อย

คลิก entity เพื่อคัดลอก

HTML entity คืออะไร?

HTML entity คือรหัสแทนอักขระสงวนหรืออักขระพิเศษ เช่น &lt; แทน < และ &amp; แทน & การเข้ารหัสข้อความจากผู้ใช้ก่อนแสดงผลเป็น HTML ช่วยให้มาร์กอัปถูกต้องและป้องกันการโจมตีแบบ XSS

คุณสมบัติ

  • • เข้ารหัสเฉพาะอักขระสงวนหรืออักขระที่ไม่ใช่ ASCII ทั้งหมด
  • • รูปแบบ entity แบบชื่อ ฐานสิบ และฐานสิบหก
  • • ถอดรหัส entity แบบชื่อและตัวเลขของ HTML5 ทั้งหมด
  • • ตารางอ้างอิง entity ที่ใช้บ่อย

ประมวลผลในเครื่อง

การเข้ารหัสและถอดรหัสทำในเบราว์เซอร์ เนื้อหาของคุณจะไม่ถูกส่งไปยังเซิร์ฟเวอร์

ฝั่งไคลเอนต์ 100%

วิธีใช้ HTML Entities

  1. 1

    เลือก Encode เพื่อแปลงอักขระพิเศษเป็น HTML entity หรือ Decode เพื่อแปลง entity อย่าง &lt; หรือ &#169; กลับเป็นอักขระ

  2. 2

    เมื่อเข้ารหัส ให้เลือกโหมด Basic จะ escape เฉพาะ & < > " และ ' ส่วน Named ใช้ entity อย่าง &eacute; ขณะที่ Decimal และ Hex แปลงอักขระที่ไม่ใช่ ASCII ทุกตัวเป็นรหัสตัวเลข

  3. 3

    วางข้อความหรือ HTML ผลลัพธ์จะอัปเดตทันที

  4. 4

    คัดลอกผลลัพธ์ หรือใช้ "ใช้ผลลัพธ์เป็นข้อมูลขาเข้า" เพื่อประมวลผลต่อ คลิกรายการในตารางอ้างอิงเพื่อคัดลอก entity ที่ใช้บ่อย

ตัวอย่างการใช้งานจริง

แสดงโค้ดบนหน้าเว็บ

หากต้องการแสดง <div class="box"> เป็นข้อความในบล็อกหรือเอกสาร ให้เข้ารหัสเป็น &lt;div class=&quot;box&quot;&gt; เพื่อไม่ให้เบราว์เซอร์ตีความเป็นแท็ก

เนื้อหาจากผู้ใช้ที่ปลอดภัย

การ escape ข้อความที่ผู้ใช้ป้อนก่อนแทรกลงใน HTML ช่วยป้องกันเลย์เอาต์พังและการโจมตี XSS โหมด Basic ครอบคลุมอักขระสำคัญทั้งห้าตัว

แก้ข้อความที่ถูกเข้ารหัสซ้ำ

เห็น &amp;amp; หรือ &amp;quot; บนหน้าเว็บหรือฟีด RSS? ถอดรหัสหนึ่งหรือสองครั้งเพื่อหาจุดที่ถูก escape มากเกินไป

ระบบที่รับเฉพาะ ASCII

เทมเพลตอีเมล CMS รุ่นเก่า หรือฟีด XML บางตัวรับเฉพาะ ASCII โหมด Decimal หรือ Hex จะแปลงภาษาไทยหรือ é เป็นรหัสอย่าง &#233; ที่ไม่เพี้ยนไม่ว่าจะใช้การเข้ารหัสใด

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

อักขระใดบ้างที่ต้อง escape ใน HTML?+

ในเนื้อหาข้อความต้อง escape & และ < ในค่า attribute ต้อง escape เครื่องหมายคำพูดที่ครอบค่า (" หรือ ') ด้วย การ escape > เพิ่มเป็นนิสัยที่พบบ่อยและไม่มีผลเสีย

ใช้ entity แบบชื่อหรือแบบตัวเลข?+

ทั้งสองแสดงผลเหมือนกัน แบบชื่ออย่าง &copy; อ่านง่ายกว่า ส่วนแบบตัวเลขอย่าง &#169; ใช้ได้กับอักขระ Unicode ทุกตัว รวมถึงตัวที่ไม่มีชื่อ

การ escape HTML พอสำหรับป้องกัน XSS หรือไม่?+

เป็นการป้องกันที่ถูกต้องสำหรับข้อความระหว่างแท็กหรือใน attribute ที่มีเครื่องหมายคำพูด ข้อความใน <script>, style, event handler หรือ URL ต้อง escape ตามบริบทแยกต่างหาก ซึ่งเฟรมเวิร์กสมัยใหม่จัดการให้

ภาษาไทยต้องใช้ entity หรือไม่?+

ไม่ต้อง หากหน้าเว็บส่งเป็น UTF-8 ซึ่งเป็นค่ามาตรฐานในปัจจุบัน entity จำเป็นเฉพาะกับระบบที่จำกัดอยู่ที่ ASCII