如何转义Javascript模板字符串的属性?
这个片段是如何转义Javascript模板字符串的属性?,javascript,jquery,escaping,xss,Javascript,Jquery,Escaping,Xss,这个片段是 function addTabItems(tab, items) { const tabItems = items.map((item) => ` <div class="bvb-cmp-grid__item"> <div class="bvb-comp-grid__item-head"> <img alt="gr
function addTabItems(tab, items) {
const tabItems = items.map((item) => `
<div class="bvb-cmp-grid__item">
<div class="bvb-comp-grid__item-head">
<img alt="grid-item" src="${item['image']}" class="bvb-cmp-grid__item-img">
<div class="bvb-cmp-grid__item-title">${item['title']}</div>
</div>
<div class="bvb-comp-grid__item-blocks">
${item['items'].map((block) => `
<div class="bvb-comp-grid__item-block">
<div class="bvb-comp-grid__item-block-title">${block['title']}</div>
<div class="bvb-comp-grid__item-block-content">${block['content']}</div>
</div>
`).join('')}
</div>
</div>
`).join('');
const $tabContent = $(`[data-bvb-cmp-grid-tab-content="${tab}"]`);
$tabContent.append(tabItems);
}
函数addTabItems(选项卡,项){
const tabItems=items.map((item)=>`
${item['title']}
${item['items'].map((块)=>`
${block['title']}
${block['content']}
`).join(“”)}
`).加入(“”);
const$tabContent=$(`[data bvb cmp grid tab content=“${tab}”]`);
$tabContent.append(tabItems);
}
需要通过正确的方式实现-构建模板
如何转义属性值
src=“${item['image']}”
以防止XSS
atack?如何a)不使用字符串构建HTML b)使用内置安全的模板引擎?当然,这两者并不是相互排斥的。@VLAZ,a)毫无疑问,我没有能力在我遇到的情况下使用模板引擎。然后以编程方式生成内容?a) 不依赖模板engine@VLAZ,我的意思是b)。a)可以申请,谢谢你的建议