是否在URL中公开类和方法名称是不安全的?

时间:2017-06-06 05:05:55

标签: php algorithm performance security

我没有使用任何着名的框架,而且我已经创建了自己的框架。它实际上是一种先进的MVC。无论如何,它的路由与其他框架完全不同。我的意思是,没有任何名为 route 的文件包含所有路由。它将根据URL自动调用所需的类和函数。例如:

http://example.com/classname/methodname/arg1/arg2

上面的网址使用autoloader

调用此脚本
class classname{

    public function methodname() {

        // do stuff
    }
}

请参阅?每个人都会在我的脚本中知道类或方法的名称。我的问题是,这足够安全吗?或者我应该知道一些特别的东西?

1 个答案:

答案 0 :(得分:1)

这取决于。如果您的框架允许调用任意类和函数,这意味着您可以使用Web界面有效地构建远程shell。换句话说:最大的不安全感。

同样,如果您的应用程序还允许上传文件,则恶意用户可能能够上传自己的PHP类,然后从您的URL中调用它。如果没有关于框架的进一步细节,很难说。但是你可能想把这种方式称为白名单。

即使框架有一些保护措施来控制可以调用的代码,我也不会向公众泄露这样的实现细节。您将公共API与此特定实现绑定在一起。这将使更改代码变得更加困难,同时保持客户端调用相同的API。