繁体   English   中英

关闭使用autoescape = strict禁用URL替换

[英]Closure disable URL substitution with autoescape=strict

我正在使用Closure渲染chrome扩展程序渲染一个大豆模板,并且由于被soy.$$filterNormalizeUri过滤而无法插入chrome-extension://*链接soy.$$filterNormalizeUri

虽然通常不希望允许chrome-extension://*链接,但在chrome扩展名内是有意义的。

是否有办法将协议列入白名单或允许特定情况下进行未经过滤的URL替换(也许使用soy.$$normalizeUri而不是soy.$$filterNormalizeUri )? 输入不是用户定义的,应该可以安全使用。

例:

{template .t}
  {foreach $src in $list}
    <link rel="stylesheet" href="{$src}" />
  {/foreach}
{/template}

其中$list是样式表路径的生成列表,以chrome-extension://*开头

返回的错误是Uncaught AssertionError: Failure: Bad value for |filterNormalizeUri Uncaught AssertionError: Failure: Bad value chrome-extension:// ... for |filterNormalizeUri

有关转义的信息: https : //developers.google.com/closure/templates/docs/security#in_urls

如果$ list的元素是SanitizedContent实例而不是字符串,那么我认为不应对其进行转义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM