哪个功能,受保护的或私有的更安全? [复制]
Posted
技术标签:
【中文标题】哪个功能,受保护的或私有的更安全? [复制]【英文标题】:Which function, protected or private is more secure? [duplicate] 【发布时间】:2018-10-20 01:15:55 【问题描述】:我不知道这是不是一个好问题。 但是哪个功能,受保护的或私有的更安全? 安全,我的意思是,访问外部功能。 安全,我的意思是当我破解代码来获取变量时,使用哪个会更难??
【问题讨论】:
请定义您所说的“安全”是什么意思? 安全,我的意思是,访问外部函数 您的意思是“外部函数”是否可以访问受保护或私有方法?或者是什么意思? 我认为你最好看看变量范围在你选择的语言中是如何工作的。 “当我破解代码变量时” 那现在意味着什么? 【参考方案1】:这在很大程度上取决于上下文。安全到什么程度?外部访问?可见性修饰符不会阻止数据泄漏到您的应用程序之外,您应该了解生产环境中的所有代码。
我会更专注于:
缓冲区溢出 SQL 注入(例如,使用mysqli
准备好的语句而不是 mysql
)
源代码可用性
跨站请求伪造
会话劫持。
【讨论】:
【参考方案2】:Private : 只能从类内部访问(其他方法)。 受保护:只有继承类才可以访问。 Public : 可以从任何对象访问
【讨论】:
“只有继承类才能访问。”当然还有其他自己的类方法。 据我所知,friend
对象也可以访问私有方法/变量
@AliYılmaz 当然可以,但是 php 不支持类似朋友的声明【参考方案3】:
实际上,这些与您所说的安全性无关。这取决于您尝试开发的应用程序类型。如果以正确的方式使用这三种类型,它们都是安全的。
如果你要在程序的任何地方使用这些函数,你应该使用 public。如果您只想在扩展该类的类需要它们时使用它们,则必须使用受保护的。如果你只想在那个类中使用它,你应该使用 private。
【讨论】:
以上是关于哪个功能,受保护的或私有的更安全? [复制]的主要内容,如果未能解决你的问题,请参考以下文章