【发布时间】:2011-06-12 01:03:06
【问题描述】:
我正在尝试在 php 中构建一个应用程序,并且我正在部署一个加密/解密方法,为了增强安全性,我将这两种方法声明为受保护,并且我计划让任何需要它们的类从它们继承。这有什么缺点吗?也就是恶意用户可以利用他们被宣布为受保护的事实吗?
【问题讨论】:
-
protected和private与安全性完全没有关系。 -
ken:它们天生就没有,但作为语言的约定,它们限制了范围。所以说有人确实获得了访问该网站的权限,他们能够将代码注入我的 php 脚本吗?还是代码注入攻击仅限于数据库、浏览器代码和客户端代码?
-
Brad:感谢您的链接,我认为我对 ken 的评论触及了问题的核心。
-
@xenador - 见 Nanne 回答的第二部分;如果有人达到了可以在您的服务器上运行任意代码的地步,那么他们有权访问这些类成员将是您最少的问题。例如可以做的示例代码:
file_put_contents(__FILE__, str_replace(array('private', 'protected'), 'public', file_get_contents(__FILE__)));...也:php.net/manual/en/reflectionclass.getproperties.php