gpt4 book ai didi

java - Ajax请求XSS过滤器

转载 作者:行者123 更新时间:2023-12-01 10:22:27 25 4
gpt4 key购买 nike

在我们的应用程序中,我们有一个 XSS 过滤器,它处理每个请求并检查值..

但是我们发现了一种情况,当请求是 Ajax 时,我们的过滤器不起作用..

当 AJAX 请求完成时它不起作用:

$.ajax({
url: '${someUrl}' ,
type: 'POST',
cache: false,
data: JSON.stringify(checkForm),
dataType: 'json',
contentType: 'application/json',

此处的值采用 JSON 格式,如下所示:

{"poNumber":"123144","voucher":"","quoteNumber":"","collectNumber":"","otherCarrier":"","deliveryMethodCode":"21","paymentMethodCode":"invoice","concerns":""}

它在以下情况下起作用:

ACC.pg = {
addToCart: function() {
var productCode = $(this).data("productcode");
var params = {
"productCodePost": productCode,
"qty": 1
};
$.post("${url}", params, ACC.quickordercustom.handleSuccess);

qty=1&productCodePost=12123

过滤器从请求中获取参数,例如

  Map<String,String[]> params = req.getParameterMap();
for (Map.Entry<String,String[]> entry : params.entrySet()) {
String v[] = entry.getValue();
....
}

但是对于情况 1,req.getParameterMap() 为空..有什么建议吗?

谢谢是的

最佳答案

Servlet 请求的参数由 URL 参数填充,如果是内容类型为 application/x-www-form-urlencoded 的 POST 请求,则由解析的请求正文填充。

由于您在情况 1 中发送 JSON 负载,因此参数映射为空。

关于java - Ajax请求XSS过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35487733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com