我正在使用类似于Phil Hacck提出的一个Anti XSS输出编码器here
不幸的是,它在我的Site.master上猖獗,并且如此污染了元标记:
<meta name="robots" content="all, follow" />
在Site.master中,它的编写简单如下:
<meta name="robots" content="all, follow" />
在正常情况下哪个是正确的输出,但我更喜欢能够跳过site.master中的元标记。
有没有办法在运行自己的HttpEncoder时执行此操作?
答案 0 :(得分:0)
我认为您不会获得该信息,但如果您没有这样的元标记,则可以尝试将允许值列入白名单。
简化版本为:
protected override void HtmlAttributeEncode(string value, TextWriter output)
{
if (value != "all, follow")
{
output.Write(AntiXss.HtmlAttributeEncode(value));
}
else
{
output.Write(value);
}
}
不理想,但就我所知,HttpEncoder并没有给你上下文。