java - 为什么 Java 安全编码很重要?

标签 java encapsulation security

我无法理解为什么 Java 安全编码很重要。例如,为什么声明变量私有(private)很重要?我的意思是我知道这将使得无法从类外部访问这些变量,但我可以简单地反编译类以获取值。 同样,将一个类定义为 final 将无法子类化该类。什么时候对一个类进行子类化对安全性是危险的?同样,如果有必要,我可以反编译原始类并使用我想要的任何恶意代码重新实现它。 当用户“信任”应用程序时是否会出现问题?然后人们可以以某种方式滥用这种信任? 基本上我正在寻找的是一个很好的例子,说明为什么应该遵循安全编码指南。

最佳答案

编程很难。

如果您定义严格的 API,不公开不应该公开的变量(我们喜欢称之为 encapsulation),您可以帮助 API 的用户,从而使编程更容易。这被认为是一件好事。

原因主要不是“安全性”,如保持 secret 事物的 secret ,而是清晰、简单和可理解性。

作为奖励,当然,如果您知道 API 的用户没有在您背后更改“您的”变量,那么让事情正常工作要容易得多。

关于java - 为什么 Java 安全编码很重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/851623/

相关文章:

java - Files.newInputStream 中的 NoSuchFileException 与 StandardOpenOption.CREATE

java - JTable 不向上滚动

java - 我如何在 Java 中使用 KeyListener?

python - Django 和 Deployment 中的私有(private)设置

java - 为运行 java 镜像的 pod 启用其余通信

Python对象交互

php - 我可以使用私有(private)实例方法作为回调吗?

c++ - public static const 变量是否破坏了封装意识形态?

security - 套接字通信安全问题

linux - 使用 fail2ban 在 Ubuntu 8.04 上安装 vsftp 后连接被拒绝