2016-12-22 27 views
1

我如下建立響應:Fortify的問題未驗證的數據發送到web瀏覽器

@Override 
    public Response post(String html,String headers) { 
     HttpEntity<String> requestPayload = new HttpEntity<String>(html,headers); 
     ResponseEntity<String> responseEntity = null; 
     responseEntity = restTemplate.postForEntity(uri, requestPayload,String.class); 
     String responseString = responseEntity.getBody().toString(); 
     return Response.ok().entity(responseString).build(); 
    } 

Fortify的抱怨

的方法發送未經驗證的數據到XX線的web瀏覽器,其可導致瀏覽器正在執行惡意代碼。

任何想法如何解決這個問題?

+0

這條線不足以理解問題。你能給一個更大的代碼片段嗎? (重要的部分是瞭解是否有任何用戶輸入影響你的responseString)。 – yaloner

+0

@yaloner:我有更新代碼 – anand

回答

0

你需要告訴spring控制器,你需要發送什麼格式的數據作爲後端的響應。

對於GET請求,需要將其添加到控制器中。即,產生= MediaType.APPLICATION_JSON_VALUE

@RequestMapping(值= 「/患者/ {patientID}/_歷史/ {VERSIONID}」,方法= RequestMethod.GET,產生= MediaType.APPLICATION_JSON_VALUE)

對於POST請求產生&消耗需要增加 @RequestMapping(值= 「/患者」,方法= RequestMethod.POST,產生= MediaType.APPLICATION_JSON_VALUE,消耗= MediaType.APPLICATION_JSON_VALUE)

@Override @RequestMapping(值=「/ Patient/{patientID}/_ history/{versionId}「,method = RequestMethod.GET,產生= MediaType.APPLICATI ON_JSON_VALUE) public ResponseEntity getResourceByVersionId(@PathVariable String patientID,@PathVariable String versionId){ return super.getResourceByVersionId(patientID,versionId); }

相關問題