0

我正在实现一个 Js 小部件,带有源代码的小部件在 domain1.com 上,小部件(查看器)的主机在 domain2.com

在 domain1.com 上,我使用 PHP 作为服务器脚本语言。

我需要检查是否允许小部件托管域从提供小部件服务的 domain1.com 获得答案。

我正在考虑执行这样的操作:

在 domain2.com 上:

<html>
    <head></head>
    <body>
        <div id="widget-container"></div>        
    </body>
    <script src="http://domain1.com/widget/viewer.php" type="text/javascript"></script>
</html>

在 domain1.com 上:

<?php 
    if(in_array($_SERVER['HTTP_REFERER'], $allowedDomains)){
       /* echo all widget goodness*/
    }else{
        die('you\'ve not permission to get this service');
    }
?>

检查$_SERVER['HTTP_REFERER']变量以授予主机域访问我的小部件是否可靠?

4

1 回答 1

0

不,不安全,referer可以随意篡改。

参见引用控制

事实上,请求中的任何内容都可以伪造。

您应该寻找其他东西来保护您的小部件,例如 https+sessions。

于 2012-09-04T00:28:21.700 回答