php 安全保护与私有
Posted
技术标签:
【中文标题】php 安全保护与私有【英文标题】:php security protected vs. private 【发布时间】:2011-06-12 01:03:06 【问题描述】:我正在尝试在 php 中构建一个应用程序,并且我正在部署一个加密/解密方法,为了增强安全性,我将这两种方法声明为受保护,并且我计划让任何需要它们的类从它们继承。这有什么缺点吗?也就是恶意用户可以利用他们被宣布为受保护的事实吗?
【问题讨论】:
protected
和 private
与安全性完全没有关系。
见***.com/questions/1020749/…
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
【参考方案1】:
我认为不应将受保护的、私有的或公共的用于这种安全性。它更像是一个正确的面向对象编程的工具,而不是为了安全。
如果攻击者实际上可以插入可能利用此类内容的代码,那么您不必担心它是私有的还是受保护的。
【讨论】:
【参考方案2】:私有/受保护/公共(即可见性)的概念与安全性完全无关。与encapsulation的概念有关。
【讨论】:
以上是关于php 安全保护与私有的主要内容,如果未能解决你的问题,请参考以下文章