我没有使用任何着名的框架,而且我已经创建了自己的框架。它实际上是一种先进的MVC。无论如何,它的路由与其他框架完全不同。我的意思是,没有任何名为 route 的文件包含所有路由。它将根据URL自动调用所需的类和函数。例如:
http://example.com/classname/methodname/arg1/arg2
上面的网址使用autoloader
:
class classname{
public function methodname() {
// do stuff
}
}
请参阅?每个人都会在我的脚本中知道类或方法的名称。我的问题是,这足够安全吗?或者我应该知道一些特别的东西?
答案 0 :(得分:1)
这取决于。如果您的框架允许调用任意类和函数,这意味着您可以使用Web界面有效地构建远程shell。换句话说:最大的不安全感。
同样,如果您的应用程序还允许上传文件,则恶意用户可能能够上传自己的PHP类,然后从您的URL中调用它。如果没有关于框架的进一步细节,很难说。但是你可能想把这种方式称为白名单。
即使框架有一些保护措施来控制可以调用的代码,我也不会向公众泄露这样的实现细节。您将公共API与此特定实现绑定在一起。这将使更改代码变得更加困难,同时保持客户端调用相同的API。