仅允许SWF文件访问PHP脚本

时间:2014-09-20 21:19:05

标签: php flash security

是否可以仅限制从Flash访问PHP文件?例如。我有example.phpfile.swfFile.swfexample.php发送请求,该请求返回JSON字符串。

我不想让用户直接访问example.php(通过浏览器或其他)。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我不太确定你如何从flashfile发送请求,但这是我会尝试的; 指定swf文件中的标头,该标头不会出现在来自webbrowser的请求中,然后检查标头是否存在于example.php的顶部,如果没有,则结束脚本执行。

示例:

<?php
if( !isset($_SERVER['HTTP_MYSPECIALHEADER']) ){
    die('You cannot access this file directly!');
}
// Do whatever the script should do if the request came from the .swf file.

正如我所说,我不知道它如何与swf文件中的通信一起工作,但你总是可以使用$ _SERVER变量的var_dump来查看是否已经有任何标头可以用来检查请求是否来自swf文件。

修改:How do i know if the request came from flash swf?

看看这个。如上所述,我不认为你可以100%确定请求来自flash文件,因为用户可以操作发送到服务器的内容。

答案 1 :(得分:0)

简短的回答是不可能的。

但是,您可以通过使用嵌入.swf(公钥在服务器上)的私钥对邮件进行签名来加倍努力。这为不同的消息创建了一个唯一的签名,您可以使用它来检查消息的完整性。您的邮件还应包含时间戳,以便您拒绝超过15秒的请求以防止重播攻击。

确实,人们可以通过反编译.swf来检索密钥,然后只签署他们自己的消息(这需要更多的努力,只是篡改标题)。

相关问题