Rumah >pembangunan bahagian belakang >Golang >Mengapakah html/template melarikan diri \'<\' tetapi bukan \'>\'?

Mengapakah html/template melarikan diri \'<\' tetapi bukan \'>\'?

Susan Sarandon
Susan Sarandonasal
2024-11-04 05:33:29841semak imbas

Why does html/template escape "? " />"? " />

Memahami HTML/Templat Melarikan Diri

Satu isu telah dibangkitkan berkenaan html/templat yang tidak perlu melarikan "<" kepada "<" sambil meninggalkan "> ;" tidak disentuh. Untuk memahami tingkah laku ini, mari kita periksa terlebih dahulu tujuan HTML/template melarikan diri.

HTML Melarikan diri untuk Keselamatan

HTML/template menyediakan pelarian automatik yang berpotensi aksara berbahaya untuk menghalang kerentanan suntikan kod ini adalah sensitif konteks, memastikan data dikodkan dengan betul apabila dibenamkan dalam konteks yang berbeza, seperti HTML, CSS atau URI.

html/template untuk HTML. Output Sahaja

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa html/templat direka khusus untuk menjana output HTML Tujuan utamanya adalah untuk menyediakan cara yang selamat untuk membenamkan data yang dibekalkan pengguna ke dalam dokumen HTML.

Gunakan teks/templat untuk Output Bukan HTML

Jika output yang anda perlukan bukan HTML, anda harus menggunakan teks/templat sebaliknya tidak melakukan pelarian, membolehkan anda menjana teks biasa atau format fail tersuai.

Kesimpulan

Dalam contoh yang disediakan, templat bertujuan untuk menjana bukan HTML fail, seperti readme atau lesen. Oleh itu, anda harus menggunakan teks/templat, yang tidak terlepas daripada aksara, untuk mengelakkan pengekodan "<" yang tidak perlu. Dengan memilih pakej templat yang sesuai berdasarkan format output, anda boleh memastikan tingkah laku yang betul dan mengelakkan isu melarikan diri yang tidak dijangka.

Atas ialah kandungan terperinci Mengapakah html/template melarikan diri \'<\' tetapi bukan \'>\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn