我有asp.net WEB API
我在一个操作中将json
字符串放在url参数中,例如:
http://example.com?config=%7B%0D%0A%20%20%20%20%22paramete1%22%3A%22value1%22%2C%0D%0A%20%20%20%20%22serverulr%22%3A%22http%2F%2Fexample.com%22%0D%0A%7D
其中config参数包含编码的json:
{
"paramete1":"value1",
"serverulr":"http//example.com"
}
一切都适用于所有浏览器,我只有Microsoft Edge和Internet Explorer的问题。在控制台中,它向我显示:
SEC7130: Potential cross-site scripting detected in 'http://example.com?config=%7B%0D%0A%20%20%20%20%22paramete1%22%3A%22value1%22%2C%0D%0A%20%20%20%20%22serverulr%22%3A%22http%2F%2Fexample.com%22%0D%0A%7D'. The content has been modified by the XSS Filter.
之后我的json看起来如下:
{
"paramete1":"value1",
"serverulr":"http//example^com"
}
有任何想法如何避免这个问题吗?
答案 0 :(得分:0)
我认为没有办法避免这种情况。 首先是添加自定义标头并将此配置放入此标头,但随后我面临其他问题,因为在相同的情况下,此网址必须在iframe中使用。 所以我决定将这个值编码为base64,它运行正常。