php 安全保护与私有

Posted

技术标签:

【中文标题】php 安全保护与私有【英文标题】:php security protected vs. private 【发布时间】:2011-06-12 01:03:06 【问题描述】:

我正在尝试在 php 中构建一个应用程序,并且我正在部署一个加密/解密方法,为了增强安全性,我将这两种方法声明为受保护,并且我计划让任何需要它们的类从它们继承。这有什么缺点吗?也就是恶意用户可以利用他们被宣布为受保护的事实吗?

【问题讨论】:

protectedprivate 与安全性完全没有关系。 见***.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 安全保护与私有的主要内容,如果未能解决你的问题,请参考以下文章

PHP OOP 私有保护

PHP受保护的类和私有类什么区别

php属性u存在受保护或私有属性的修复程序

受保护的与私有的析构函数

Objective-C - 私有与受保护与公共

如何保护私有移动 API 的“创建新用户”操作?