我不知道如何描述这个,但基本上我有一个PHP类文件:
class HelloHello {
public function getSomeData($input_parameter){
// code to retrieve data from the database
}
public function deleteSomeData($input_parameter){
// code to delete data from the database
}
}
此类位于服务器上,是与数据库连接的后端的一部分,它只能由前端SWF访问(不能直接访问)。我已经设置Flex来阅读这个类并访问它。但是,我如何确保有人不开发可以直接调用此php文件并访问其方法的脚本?例如,使用脚本以快速自动方式添加数据,或直接使用delete方法,ouch。
这是一个合理的问题,还是不能这样做?
答案 0 :(得分:1)
如果用户可以通过您的Flash应用程序查看它,用户可以使用他的应用程序查看它。你可以通过引入cookie和身份验证等来试图“保护”你的脚本[丑陋],但这很麻烦,当然,它可以消失。
而不是试图阻止其他人访问您的php文件,而是专注于使其更安全。
答案 1 :(得分:0)
如果你知道swf运行的url,你不能只是在PHP中限制对该url的请求吗?无视所有其他请求。
答案 2 :(得分:0)
您可以通过添加安全性和身份验证来保护您的文件。如果您不能这样做(它是一个公共应用程序),您应该实现一些可以防止特定情况的技术:不允许每秒从同一IP调用您的脚本太多次,添加CAPTHCA以检查输入的数据是从人而不是机器,也许是另一个机器。
答案 3 :(得分:0)
您还可以实施质询 - 响应安全系统,确保您使用的客户端实际上是数据的预期重新计算。这样,您就可以在SWF中嵌入一个密钥。 PHP应用程序发送一次性字符串,客户端根据其秘密对其执行某些操作,然后将响应发回 - 您的服务器可以验证然后继续运行。
对于一些基本的数学基础,在线有相当多的文档。