Javascript 实现Js小部件:依赖$#u SERVER[';HTTP#u REFERER';]变量检查主机域是否安全?
我正在实现一个Js小部件,带有源代码的小部件位于domain1.com上 小部件(查看器)的主机位于domain2.com上 在domain1.com上,我使用PHP作为服务器脚本语言 我需要的是检查是否允许小部件托管域从为小部件服务的domain1.com获取答案 我想表演这样的节目: 在domain2.com上:Javascript 实现Js小部件:依赖$#u SERVER[';HTTP#u REFERER';]变量检查主机域是否安全?,javascript,php,widget,cross-domain,Javascript,Php,Widget,Cross Domain,我正在实现一个Js小部件,带有源代码的小部件位于domain1.com上 小部件(查看器)的主机位于domain2.com上 在domain1.com上,我使用PHP作为服务器脚本语言 我需要的是检查是否允许小部件托管域从为小部件服务的domain1.com获取答案 我想表演这样的节目: 在domain2.com上: <html> <head></head> <body> <div id="widget-con
<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');
}
?>
检查
$\u服务器['HTTP\u REFERER']
变量以授予主机域访问我的小部件是否可靠?不,这不安全,可以随意篡改REFERER
看
事实上,请求中的任何内容都可能是伪造的
你应该找些别的东西来保护你的小部件,比如https+会话。安全是什么意思?引用可以是伪造的,但取决于你想要的安全级别,它是可以接受的还是不能接受的。我的意思是,如果引用有可能是空的或更改的。因为只有我通过widget托管页面将我的widget数据的访问权授予某个domainname.com,如果有机会,如上所述,它将不会获得任何数据