如何安全地跨脚本(想想分析)

时间:2012-01-21 05:48:26

标签: php javascript ajax xss analytics

本周末,我正在建立一种有趣的分析平台,这是我想要的效果。

客户:abc.com 服务器:test.com

用户访问http://abc.com/#12345

客户端通过javascript id:12345发送服务器,以及浏览器信息。服务器以新的id响应(例如:#23456),然后将其推送到当前URL(pushstate)http://abc.com/#23456

我在考虑某种类型的脚本,客户端包含在与服务器后端通信的服务器中,但这不是技术上的XSS和不安全吗?分析人员(Google,GetClicky等)如何做到这一点?!

我如何实现这一点,就像分析网站那样,互联网上帝不会因为XSS而生我的生气,同时仍然保持安全性和易于实施。一个包括来源。

我喜欢你能做的任何事情来指引我朝着正确的方向前进。

1 个答案:

答案 0 :(得分:0)

使用jsonp。我们的想法是脚本标记的源代码是您要执行的代码:

<script type="text/javascript" src="http://yoursite.com?id=12345&this=that" />

编辑:是的,您动态创建脚本类似于ajax响应:

function getResponse(id){
    var scrpt = document.createElement("script");
    scrpt.type="text/javascript";
    scrpt.src = "http://yoursite.com?id="+id;
    document.body.appendChild(scrpt);
}

在你的php页面中:

<?PHP 
    if(!isset($_GET['id']))die();
    $id = $_GET['id'];
    echo "alert('$id');";
?>

无论如何都是这样的。

编辑:完全忘了,但jsonp的意思是你传入一个回调函数。请参阅此处获取一些php文档:http://php.net/manual/en/function.json-encode.php