模板 XSS 安全
对于XSS攻击的安全措施
为了防止XSS问题Magento推荐以下转义输出模板中的规则:
- 
              
如果方法指示内容已转义,则不要转义:
getTitleHTML(),getHtmlTitle()(标题已为HTML输出做好准备) - 
              
类型转换和PHP函数
count()不需要逸出 (例如echo (int)$var,echo (bool)$var,echo count($var)) - 
              
单引号的输出不需要转义 (例如
echo 'some text') - 
              
无变量双引号的输出不需要转义 (例如
echo "some text") 
下面的代码示例说明了模板的XSS安全输出:
<?php echo $block->getTitleHtml() ?>
<?php echo $block->getHtmlTitle() ?>
<?php echo $block->escapeHtml($block->getTitle()) ?>
<h1><?php echo (int)$block->getId() ?></h1>
<?php echo count($var); ?>
<?php echo 'some text' ?>
<?php echo "some text" ?>
<a href="<?php echo $block->escapexssInUrl($block->getUrl()) ?>"><?php echo $block->getAnchorTextHtml() ?
></a>
            <!-- In this example $postData is a json string -->
  <button class="action" data-post='<?php /* @noEscape */ echo $postData ?>' />
            <span class="label"><?php echo $block->escapeHtml($block->getLabel()) ?></span>
            <a href="<?php echo $block->escapeUrl($block->getCategoryUrl()) ?>">Some Link</a>
            <span class="<?php $block->escapeQuote($block->getSpanClass()) ?>">Product Description</span>