【问题标题】:Which function, protected or private is more secure? [duplicate]哪个功能,受保护的或私有的更安全? [复制]
【发布时间】:2018-10-20 01:15:55
【问题描述】:

我不知道这是不是一个好问题。 但是哪个功能,受保护的或私有的更安全? 安全,我的意思是,访问外部功能。 安全,我的意思是当我破解代码来获取变量时,使用哪个会更难??

【问题讨论】:

  • 请定义您所说的“安全”是什么意思?
  • 安全,我的意思是,访问外部函数
  • 您的意思是“外部函数”是否可以访问受保护或私有方法?或者是什么意思?
  • 我认为你最好看看变量范围在你选择的语言中是如何工作的。
  • “当我破解代码变量时” 那现在意味着什么?

标签: php function security


【解决方案1】:

这在很大程度上取决于上下文。安全到什么程度?外部访问?可见性修饰符不会阻止数据泄漏到您的应用程序之外,您应该了解生产环境中的所有代码。

我会更专注于:

  • 缓冲区溢出
  • SQL 注入(例如,使用 mysqli 准备好的语句而不是 mysql)
  • 源代码可用性
  • 跨站请求伪造
  • 会话劫持。

【讨论】:

    【解决方案2】:

    Private : 只能从类内部访问(其他方法)。
    受保护:只有继承类才可以访问。
    Public : 可以从任何对象访问

    【讨论】:

    • “只有继承类才能访问。”当然还有其他自己的类方法。
    • 据我所知,friend 对象也可以访问私有方法/变量
    • @AliYılmaz 当然可以,但是 php 不支持类似朋友的声明
    【解决方案3】:

    实际上,这些与您所说的安全性无关。这取决于您尝试开发的应用程序类型。如果以正确的方式使用这三种类型,它们都是安全的。

    如果你要在程序的任何地方使用这些函数,你应该使用 public。如果您只想在扩展该类的类需要它们时使用它们,则必须使用受保护的。如果你只想在那个类中使用它,你应该使用 private。

    【讨论】:

      猜你喜欢
      • 2017-06-29
      • 2011-06-12
      • 2019-07-24
      • 1970-01-01
      • 2012-09-28
      • 2012-06-22
      • 2014-01-13
      • 2016-01-18
      • 2017-12-13
      相关资源
      最近更新 更多