Langkau ke kandungan utama

Gambaran keseluruhan

Tetapan policy

policy lalai mengandungi tetapan yang disyorkan yang menawarkan keseimbangan antara kebolehgunaan dan mitigasi serangan XML.

Berikut ialah contoh policy XML:

{
"policySettings": {
"EnableWarningHandling": false,
"BlockedTags": [
"/XInclude:include",
"/XSL/Transform:stylesheet"
],
"AllowedEncodings": [
"utf-8",
"utf-16",
"iso-8859-1"
],
"AllowEmptyEncoding": true,
"AllowDoctypeInCData": false
}
}

EnableWarningHandling

PolicySettings.EnableWarningHandlingMemberitahu API pengesahan XML untuk mengembalikan amaran dalam respons apabila mengesahkan input XML. Amaran dinyahdayakan secara lalai.

Amaran dikembalikan dalam bentuk senarai. Jika tiada yang ditemui, senarai itu kosong:

{
"ValidationWarnings": [
"The optional field Test is missing."
]
}

BlockedTags

Tag tersuai dibenarkan dalam dokumen XML. Menentukan tag yang berpotensi berisiko dalam PolicySettings.BlockedTags membolehkan API Pengesahan XML gagal jika ia menemui mana-mana tag ini semasa mengesahkan input XML. Objek ValidationResults pada respons mengenal pasti tag yang menyebabkan pengesahan gagal.

Tag yang disekat ini memadankan tag dalam dokumen XML mengikut nama tag yang diperluas yang merangkumi ruang nama. Ini memastikan tag yang betul disekat dan penggunaan alias ruang nama yang berbeza tidak dapat memintas semakan. Tag dipadankan berdasarkan pengakhirannya supaya satu peraturan boleh menyekat ruang nama yang ditakrifkan untuk tahun yang berbeza, contohnya http://www.w3.org/2001/XInclude dan http://www.w3.org/1999/XML/xinclude.

Contohnya dalam XML berikut:

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xi="http://www.w3.org/2001/XInclude">
<head>...</head>
<body>
...
<p><xi:include href="license.txt" parse="text"/></p>
</body>
</html>

Ruang nama xi ditetapkan kepadahttp://www.w3.org/2001/XInclude dan digunakan untuk meletakkan awalan pada tag xi:include. Oleh itu, pengesahan tag ini dinilai sebagai http://www.w3.org/2001/XInclude:include. Nama tag yang dikembangkan ini kini berakhir dengan salah satu tag disekat lalai/XInclude:include dan ditambahkan pada hasil pengesahan. Semakan ini juga tidak peka huruf besar/kecil.

Secara lalai, tag XML berikut disekat:

  • XInclude
  • XSL

AllowedEncodings

Dokumen XML boleh menentukan standard pengekodan aksara.PolicySettings.AllowedEncodings ialah senarai rentetan, yang membolehkan pengguna menentukan standard pengekodan aksara yang dibenarkan dalam XML input. Jika XML Validation API menemui pengekodan yang ditentukan, pengesahan akan gagal dan standard pengekodan itu dikenal pasti dalam objek ValidationResults pada respons.

Secara lalai, standard pengekodan aksara berikut dibenarkan:

  • UTF-8
  • UTF-16
  • ISO-8859-1

AllowEmptyEncoding

PolicySettings.AllowEmptyEndoding mengkonfigurasi keupayaan untuk membenarkan pengesahan berjaya jika tiada pengekodan aksara dinyatakan dalam XML input.

Nota: walaupun ini didayakan, pengesahan masih akan gagal jika XML input menentukan standard pengekodan yang tidak disertakan dalam PolicySettings.AllowedEncodings.

Ini ditetapkan kepada true secara lalai.

AllowDoctypeInCData

Bahagian CDATA boleh digunakan untuk membenamkan keseluruhan dokumen XML dalam dokumen XML lain.PolicySettings.AllowDoctypeInCData mengkonfigurasi XML Validation API untuk menggagalkan pengesahan jika ia menemui pengisytiharan doctype dalam bahagian CDATA. Sebagai alternatif, ini boleh ditetapkan kepada true untuk membenarkan pengisytiharan doctype.

Ini ditetapkan kepada false secara lalai.