Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将jQuery.getJSON()的响应仅限于某些域?_Php_Jquery_Getjson - Fatal编程技术网

Php 如何将jQuery.getJSON()的响应仅限于某些域?

Php 如何将jQuery.getJSON()的响应仅限于某些域?,php,jquery,getjson,Php,Jquery,Getjson,我在clientDomain.com/show.php页面中有一个jQuery脚本,它显示了使用jQuery.getJSON()从serverDomain.com/echo.php页面加载的一些数据。我希望只有允许的域可以显示数据,因为我不希望未经授权的人在没有我的许可的情况下在他们自己的网站上安装脚本。有没有办法将jQuery.getJSON()的响应仅限于某些域?该解决方案还应防止客户端使用iframe。总之,只有当有人直接访问serverDomain.com/echo.php页面或允许的客

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

我的请求/响应脚本与中的第一个示例类似


我只能编写客户端jQuery脚本(将被分配到允许的域)和serverDomain.com/echo.php页面(这是我的属性)。

不要这样做。改为使用定期更新的身份验证令牌。任何人都可以伪造HTTP推荐人


这里有一个很好的答案,它涵盖了resful api身份验证:

我只能对客户端jQuery脚本(将被分配到允许的域)和serverDomain.com/echo.php页面(这是我的属性)进行编码。好的,然后只需创建一个简单的已批准域数组,如果数组中没有document.domain,请终止该脚本。对于任何知道如何和想要绕过的人来说,这都很容易,但对于1级威慑来说,这很好。您认为使用此批准域数组或HTTP引用是否更好,如这里所述:?选择您的口味。这两种方法都需要付出同样的努力。我的理念是,如果没有明确的选择是将代码放在服务器上还是客户机上,那么就放在客户机上。