我正在尝试使用ESAPI验证器来解决反映跨端脚本问题。我尝试在API Post请求中使用ESAPI验证器,如下所示
try {
String document_number = ESAPI.validator()
.getValidInput("Doc Number",qReq.getDocument_number(),
"SafeString",15,false,true);
valid = true;
} catch (IntrusionException e) {
LOGGER.info("Intrusion Exception");
LOGGER.error("Error Message for User --> " + e.getMessage());
LOGGER.error("Error Message for User --> " + e.getLogMessage());
} catch (ValidationException e) {
LOGGER.info("Validation Exception");
LOGGER.error("Error Message for User --> " + e.getMessage());
LOGGER.error("Error Message for User --> " + e.getLogMessage());
}
我已根据 getValidInput 函数中的最后一个参数启用 canonicalize 为true,但不知何故它不会这样做?
我的输入请求是
{ “document_date”:“2017-09-18”, “tran_type”:null,“document_number”:“%68%74%74%70%3a%2f”}
我希望输出
{ “document_date”:“2017-09-18”, “tran_type”:null,“document_number”:“http:/”}
任何想法都会有所帮助吗?
此致 苏尼