我需要从JSONP调用中清除回调参数吗?
发布时间:2020-12-16 19:47:52 所属栏目:百科 来源:网络整理
导读:我想通过JSONP提供一个webservice,并且想知道如果我需要从回调参数中清除值。 我目前的服务器端脚本目前看起来像这样(或多或少,代码在PHP中,但可以是任何事情。): header("Content-type: application/json; charset=utf-8");echo $_GET['callback'] . '(
我想通过JSONP提供一个webservice,并且想知道如果我需要从回调参数中清除值。
我目前的服务器端脚本目前看起来像这样(或多或少,代码在PHP中,但可以是任何事情。): header("Content-type: application/json; charset=utf-8"); echo $_GET['callback'] . '(' . json_encode($data) . ')'; 这是一个经典的XSS漏洞。 如果我需要清理它,那怎么办?我无法找到关于什么可以允许回调字符串的足够的信息。我从Wikipedia引用:
是的,当回调是这样的
(function xss(x){evil()}) 当您从php回显时,将会看起来像 (function xss(x){evil()})(json) 函数xss将运行,而evil()可以是将Cookie发送到其他地方的一些代码。 因此,将其清理为仅有效的函数名称,例如,将其限制为字母数字 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |