私は REST コントローラーを持っています。これには、 isとwhich isdeleteStudent
の 2 つのパラメーターを受け入れる
メソッドがあります。studentId
Long
section
String
@RequestMapping(value="/rest/deleteStudent/studentId/{studentId}/section/{section}", method = RequestMethod.DELETE)
public Student deleteStudent(@PathVariable Long studentId, @PathVariable String section){
return studentService.deleteStudent(studentId ,section);
}
上記のコードでは、checkmarx が不平を言っています。このパラメーター値はコードを流れ、最終的にデータベースの内容を変更するために使用されます。アプリケーションは、要求に対して更新されたユーザー認証を必要としません。これにより、クロスサイト リクエスト フォージェリ (XSRF) が有効になる場合があります。
セクションで(Spring Web utilから)試し Htmlutils.htmlescape
ましたが、運がありません。
このチェックマークの問題を取り除くにはどうすればよいですか?
もう 1 つ、フィールドが Long 型の場合、XSRF および SQL インジェクション攻撃がどのように可能になるのでしょうか?