Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java:构造函数直接存储用户提供的数组时的安全性以外的含义_Java_Arrays_Security_Sonarqube - Fatal编程技术网

java:构造函数直接存储用户提供的数组时的安全性以外的含义

java:构造函数直接存储用户提供的数组时的安全性以外的含义,java,arrays,security,sonarqube,Java,Arrays,Security,Sonarqube,我在工作中对一个项目运行了Sonar,发现一个违反“用户提供的阵列是直接存储的”。 因此,在深入了解这到底意味着什么时,我遇到了很多从安全角度讨论它的东西()。因此,当我读到或听到“安全”时,我想到的是恶意、破解、数据泄露和其他严重后果。 但我想知道还有什么会出错,特别是在负载平衡环境中。这是否是担心跨会话数据污染的原因?一个客户订单数据被别人的详细信息等损坏了? < P>基本上,如果你把java API暴露给世界其他地方,你应该认为这个规则非常重要。您提供的链接完美地解释了原因(如果您不克隆阵

我在工作中对一个项目运行了Sonar,发现一个违反“用户提供的阵列是直接存储的”。
因此,在深入了解这到底意味着什么时,我遇到了很多从安全角度讨论它的东西()。因此,当我读到或听到“安全”时,我想到的是恶意、破解、数据泄露和其他严重后果。

但我想知道还有什么会出错,特别是在负载平衡环境中。这是否是担心跨会话数据污染的原因?一个客户订单数据被别人的详细信息等损坏了?

< P>基本上,如果你把java API暴露给世界其他地方,你应该认为这个规则非常重要。您提供的链接完美地解释了原因(如果您不克隆阵列,API的使用者可以随时更改阵列)


如果在您的内部实现中发生冲突(其他人永远不会接触或使用),您可以降低冲突的严重性,因为第三方代码不会修改阵列。但是,不要忘记代码是生存和发展的,有一天甚至你的内部类也可能暴露在世界其他地方。

< P>基本上,如果你把java API暴露给世界其他地方,你应该认为这个规则非常重要。您提供的链接完美地解释了原因(如果您不克隆阵列,API的使用者可以随时更改阵列)


如果在您的内部实现中发生冲突(其他人永远不会接触或使用),您可以降低冲突的严重性,因为第三方代码不会修改阵列。但是,不要忘记代码是存在和发展的,有朝一日,甚至您的内部类也可能会向世界其他地方公开。

这完全取决于类的工作方式和调用方式。然而,这通常不是一个好主意。在我看来,它只是一个bean,可序列化,没有业务逻辑,似乎用于web服务上下文中。这完全取决于类的工作方式和调用方式。然而,这通常是一个坏主意。在我看来,它只是一个bean,可序列化,其中没有业务逻辑,似乎在web服务上下文中使用。