【问题标题】:Cross Domain PHP跨域 PHP
【发布时间】:2013-05-06 12:40:11
【问题描述】:

我需要一些跨域 php 代码的参考资料,以及在 PHP 中使用 javascript。原因-

我正在尝试创建一个可以从某个站点访问的 PHP 文件,我正在制作它以便测试密钥以及用户在注册时输入的网站,以便如果有人试图窃取脚本它不会在他们的网站上运行。

我需要知道如何做一个跨域的 PHP 代码,然后我也不希望用户看到我写出来的 Javascript,只有一个选择位。所以基本上会是这样的

$name_of_service({key:"H292H2723H20HC-0239C",options:"option"});

任何人都可以向我解释如何做到这一点,以及如何向用户提供代码以访问 PHP 文件,例如...

$.get(php file);

或类似的东西。这是我第一次处理所有这些,所以我是跨域实现的新手。第一个站点不允许 PHP 访问,我们只能从另一个网站服务器使用它。请提供最佳解释或最佳网站解释参考。

感谢任何人的建议和提示。我只需要如何将它从最终用户获取到我的服务器并向用户隐藏我的整体 javascript,我的意思是我可以对其进行加密,然后使用编译器,尽管对于那些知道如何解密的人来说,这不是'也很有帮助。谢谢。

【问题讨论】:

    标签: php javascript jquery get cross-domain


    【解决方案1】:

    供将来参考:

    维基百科已经给出了答案here。假设您在基于 Apache 的环境中工作,您需要在 .htaccess 文件或 .php 文件中添加标头 Access-Control-Allow-Origin。方便的是,PHP 为此提供了函数header

    为了让您的脚本使用它,您还需要 jQuery 将相应的 Origin 标头发送到服务器。这可以使用jqXhr.setRequestHeader("Origin", location.href);来完成

    【讨论】:

    • 好的,所以我需要在 head doc 中添加一个 Access-Control-Allow-Origin ,稍后我会阅读更多内容,以及在 php doc 中?我不喜欢 wiki,因为任何人都可以自己编辑或添加到文档中,所以谁知道它是否正确。 :D 这就是为什么我诚实地向我提出更好的要求。谢谢你,我会投票赞成给我一个小费
    • @EasyBB 第 2 部分:无论如何,这篇文章是对的。我自己尝试过在本地主机上使用我的网站服务器上的 AJAX 资源,并且成功了。使用 XHR 时,浏览器通常另外发送的大多数标头都不会发送。所以你必须自己发送这些。这就是为什么您在 JS 中使用jqXhr.setRequestHeader 为您的服务器提供必要的信息,并使用header("Access-Control-Allow-Origin", "<ALLOWED_URLS_HERE>"); 来指定允许哪些远程站点访问您的 AJAX 资源。
    • 谢谢 Derija 我很感激
    【解决方案2】:
    <script src="http://yourwebsite/file.php?key=blah&options=foo"></script>
    

    【讨论】:

    • 这也做得很好,但还有其他方法吗?如 $service_name(function() { $.getScript('yourwebsite/file.php'); key:"blah"; options:"foo"; });
    猜你喜欢
    • 2013-06-23
    • 2010-11-23
    • 2014-08-26
    • 1970-01-01
    • 2013-02-22
    • 2015-03-02
    • 2016-04-05
    • 1970-01-01
    • 2012-07-02
    相关资源
    最近更新 更多