【问题标题】:How do accessors prevent hackers from accessing your private data?访问者如何防止黑客访问您的私人数据?
【发布时间】:2015-07-12 14:02:32
【问题描述】:

每当教程第一次介绍访问器时,它们总是从在类或对象中初始化的公共变量开始。然后有一种方法可以打印该公共值。然后他们将其设为私有,以表明​​它对外部用户隐藏。

例如:

int _dayOfWeek;
public int dayOfWeek
    {
        get
        {
            return _dayOfWeek;
        }
        set
        {
            if (value > 0 && value < 8) _dayOfWeek = value;
        }
    }

是什么阻止了黑客仅使用这些访问器来获取和更改您的值?

【问题讨论】:

    标签: variables private accessor


    【解决方案1】:

    封装无助于抵御黑客。它有助于防止错误使用您的代码。有关封装使用的更多信息,请参阅the wiki 文章。

    通过让使用您的代码的程序员可以访问您的私人数据,很难确保他们正确使用这些数据。如果您控制对您的数据的所有访问,那么您可以确保它确实按照您的预期使用。

    为您的私人数据提供访问器通常是一种代码异味,表明封装不当。它只比暴露你的数据稍微好一点。您希望向用户公开功能而不是原始数据。

    【讨论】:

      猜你喜欢
      • 2017-07-24
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 2011-08-08
      • 2015-06-08
      • 2016-11-01
      • 2012-12-20
      • 1970-01-01
      相关资源
      最近更新 更多