1

職場のプロジェクトで Sonar を実行したところ、「ユーザー提供の配列が直接保存されています」という違反が見つかりました。
それで、それが正確に何を意味するのかをもう少し深く見てみると、セキュリティの観点からそれについて議論している多くのものに出くわしました(たとえば...)。したがって、「セキュリティ」という言葉を読んだり聞いたりすると、悪意、クラッキング、データ侵害、その他の重大な結果について考えます。
しかし、特に負荷分散環境では、他に何が問題になる可能性があるのでしょうか。これは、セッション間のデータ汚染を心配する理由になりますか? ある顧客の注文データが他の誰かの詳細などで破損していますか?

4

1 に答える 1

1

基本的に、Java API を他の世界に公開する場合、この規則は非常に重要であると考える必要があります。あなたが提供したリンクは、その理由を完全に説明しています(APIの消費者は、配列を複製しないといつでも変更できます)。

内部実装で違反が発生した場合 (他の誰も触れたり使用したりしない)、サードパーティのコードが配列を変更できるリスクがないため、違反の重大度を下げることができます。ただし、コードは生きて進化することを忘れないでください。いつの日か、内部クラスでさえ世界に公開される可能性があります。

于 2013-01-21T15:15:53.880 に答える