访问修饰符的安全影响(公共,私有,内部,受保护)

C#,Java和其他编程语言中的属性方法访问修饰符实际上是否会影响应用程序的安全性? 他们是否也以某种方式防止未经授权的访问 ? 或者它们只是清晰和适当编程的工具?

不,访问修饰符不提供安全保护。 它们仅仅是为了方便开发人员,例如它们有助于实施良好的编码实践并帮助编写模式。

通过使用Java / C#和其他语言中的reflection,可以轻松访问其他无法访问的修饰符。

访问修饰符的主要目的是强制执行特定设计,而不是任何类型的安全性。

与安全一样,有必要了解您试图防范的内容。

因此,对于处理移动代码,访问修饰符对Java 2安全模型绝对至关重要。 例如,如果不信任可以清除java.lang.System.security字段,那就是结束了。

在其他情况下,它只是代码质量。 软件安全漏洞几乎可以归结为质量差的代码。 所以访问修饰符在任何地方都发挥着作用