【发布时间】:2011-10-25 16:38:11
【问题描述】:
安全模式已弃用为 5.3.0。由于权限错误等原因,我从来没有真正需要它,而是在过去多次发现它有问题。
但是我现在有一个要求,我认为安全模式会做得很好。
我已经构建了一个可通过模块扩展的 Web 应用程序。我计划自己托管系统,并允许付费客户通过实现和编写连接到系统各个部分的模块来扩展他们的软件。
我担心的是,这样做,我无法确保他们上传的代码不会扫描我花费数年时间设计和测试的基础/框架。保持代码的专有性对我来说非常重要。
我编写了一个模块分析工具来确保第三方模块中没有调用非法方法 - 不容易!!!
-
我在 php.ini 级别禁用了有害功能,但这包括 fopen() 和它的同类 - 这意味着框架将无法调用它自己的 include() 操作等。
最后,遗憾的是,安全模式已过时,限制用户模块读取不共享相同 ID、组等的文件。
对于这种事情,推荐的方法是什么?没有在我的框架上下文中执行之前手动检查或自动分析每个模块?
【问题讨论】:
-
推荐的方法是使用许可协议,如果违规者试图对您的系统进行逆向工程,您可以用湿面条将其折磨致死。从长远来看,其他任何事情都是徒劳的。
-
Marc B 的建议很好。你让人们在你的代码之上编写代码......没有办法隐藏任何东西,通过这种直接访问。或许您可以考虑使用 RESTful API 或其他方式创建 Web 服务?
标签: php security execution safe-mode