@@ -371,13 +371,33 @@ public void bad10(@RequestParam String user) { // $ hasCsrfUnprotectedRequestTyp
371
371
myBatisService .bad10 (user );
372
372
}
373
373
374
- // Test name-based heuristic
374
+ // Test name-based heuristic for method names that imply a state-change
375
+ @ GetMapping (value = "transfer" )
376
+ public String transfer (@ RequestParam String user ) { return "transfer" ; } // $ hasCsrfUnprotectedRequestType
375
377
376
- // BAD: method name implies a state-change
377
- @ GetMapping (value = "delete" )
378
- public String delete (@ RequestParam String user ) { // $ hasCsrfUnprotectedRequestType
379
- return "delete" ;
380
- }
378
+ @ GetMapping (value = "transfer" )
379
+ public String transferData (@ RequestParam String user ) { return "transfer" ; } // $ hasCsrfUnprotectedRequestType
380
+
381
+ @ GetMapping (value = "transfer" )
382
+ public String doTransfer (@ RequestParam String user ) { return "transfer" ; } // $ hasCsrfUnprotectedRequestType
383
+
384
+ @ GetMapping (value = "transfer" )
385
+ public String doTransferAllData (@ RequestParam String user ) { return "transfer" ; } // $ hasCsrfUnprotectedRequestType
386
+
387
+ @ GetMapping (value = "transfer" )
388
+ public String doDataTransfer (@ RequestParam String user ) { return "transfer" ; } // $ hasCsrfUnprotectedRequestType
389
+
390
+ @ GetMapping (value = "transfer" )
391
+ public String transfered (@ RequestParam String user ) { return "transfer" ; } // OK: we look for 'transfer' only
392
+
393
+ @ GetMapping (value = "transfer" )
394
+ public String dotransfer (@ RequestParam String user ) { return "transfer" ; } // OK: we look for 'transfer' within camelCase only
395
+
396
+ @ GetMapping (value = "transfer" )
397
+ public String doTransferdata (@ RequestParam String user ) { return "transfer" ; } // OK: we look for 'transfer' within camelCase only
398
+
399
+ @ GetMapping (value = "transfer" )
400
+ public String getTransfer (@ RequestParam String user ) { return "transfer" ; } // OK: starts with 'get'
381
401
382
402
// Test Stapler web methods with name-based heuristic
383
403
0 commit comments