Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JSONP 跨域请求原理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

0x00 简介

由于浏览器的同源策略,我们想要从别的域获取数据变得困难,需要特殊的技术才能获取

 

0x01 使用

客户域:client.com

服务器(他域):server.com

如客户想访问 : http://server.com/try/ajax/jsonp.PHP?jsonp=callBACkFunction。

假设客户期望返回JSON数据:["customername1","customername2"]。

真正返回到客户端的数据显示为: callBACkFunction(["customername1","customername2"])。

服务端文件jsonp.PHP代码为:

<?PHP
header(‘Content-type: application/json‘);
//获取回调函数名
$jsoncallBACk = htmlspecialchars($_requEST [‘jsoncallBACk‘]);
//json数据
$json_data = ‘["customername1","customername2"]‘;
//输出jsonp格式的数据
echo $jsoncallBACk . "(" . $json_data . ")";
?>

 

客户端的回调函数代码

<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8">
<title>JSONP 实例</title>
</head>
<body>
    <div id="divCustomers"></div>
    <script type="text/javascript">
function callBACkFunction(result,methodName)
        {
            var html = ‘<ul>‘;
            for(var i = 0; i < result.length; i++)
            {
                html += ‘<li>‘ + result[i] + ‘</li>‘;
            }
            html += ‘</ul>‘;
            document.getElementById(‘divCustomers‘).innerHTML = html;
        }
</script>
<script type="text/javascript" src="http://www.runoob.com/try/ajax/jsonp.PHP?jsoncallBACk=callBACkFunction"></script>
</body>
</html>

 

0x02 安全问题

jsonp注入解析

新浪微博之点击我的链接就登录你的微博(JSONP劫持)

 

 

 

资料:

JSONP教程

大佬总结

以上是大佬教程为你收集整理的JSONP 跨域请求原理全部内容,希望文章能够帮你解决JSONP 跨域请求原理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。