我想通过JSONP提供一个was服务,我想知道我是否需要清理回调参数的值。
我目前的服务器端脚本看起来像这样(或多或少。代码是用PHP编写的,但实际上可以是任何东西。):
header("Content-type: application/json; charset=utf-8");
echo $_GET['callback'] . '(' . json_encode($data) . ')';
这是一个典型的XSS漏洞。
如果我需要清理它,那该怎么做呢?我找不到关于可能允许的回调字符串的足够信息。我引用Wikipedia的话
虽然填充(前缀)通常是在浏览器的执行上下文中定义的回调函数的名称,它也可以是变量赋值、if语句或任何其他Javascript语句前缀。
https://stackoverflow.com/questions/2777021
复制相似问题