2013-04-06 55 views
1

我有一个clientDomain.com/show.php页面中的jQuery脚本,显示了使用jQuery.getJSON()从serverDomain.com/echo.php页面加载的一些数据。我希望只有允许的域可以显示数据,因为我不希望未经授权的人员在未经我许可的情况下将脚本安装到他们自己的网站中。有没有什么方法可以将jQuery.getJSON()的响应限制到某些域?解决方案应该防止客户端使用iframe。总之,仅当有人直接访问serverDomain.com/echo.php页面或允许的客户端域之一时才应该看到数据。预先感谢支持!如何限制一个jQuery.getJSON()只对某些域的响应?

我的请求/响应脚本的工作原理是在jQuery.getJSON() | jQuery API Documentation

第一个例子中我只能代码客户端jQuery脚本(将要ditribuited给允许域)和serverDomain.com/echo.php页面(即是我的财产)。

回答

2

不这样做。使用auth令牌,而不是定期更新。任何人都可以伪造一个HTTP引用者。

这里有SO一个很好的答案覆盖resful API认证:REST API Token-based Authentication

+0

我只能代码客户端jQuery脚本(将要ditribuited给允许域)和serverDomain.com/echo.php页面(即是我的财产)。 – Alex 2013-04-06 22:16:39

+0

好吧,然后只是制作一个批准的域的简单数组,如果document.domain不在数组中,请杀死脚本。很容易绕过任何知道如何和想要的人,但对于1级威慑,这很好。 – AlienWebguy 2013-04-07 00:34:45

+0

您是否认为使用此批准的域或HTTP引用来获得更好的解释如下所示:http://stackoverflow.com/questions/11022275/restricting-access-if-not-coming-from-certain-referers-php? – Alex 2013-04-07 01:35:29