“描述”一词会导致ajax上传到403

时间:2018-04-16 06:30:55

标签: ajax upload

我已经以各种方式成功使用Ajax一段时间了。一个用途是使用

上传数据
$.ajax({
    cache: false,
    type : "POST",
    url : encodeURI("savetext.php?..."),
    data : {
        data: csvData
    },
    success: function(data3) {},
    error: function (xhr, ajaxOptions, thrownError) {}
});

字符串csvData创建为以分号分隔的数据行,行以'\ r \ n'结尾。

最近我遇到了一个问题,我在上传时收到403 Forbidden。

经过长时间的调查[最大文件大小,Cross-Origin,换行符,ajax()参数等]和反复试验,我得出结论,问题只是我有字符串“; Descri”在csvData中。

我通过在各个地方拼接csvData找到了这个。 “;描述”似乎不是问题,但“;描述”在它出现的每个位置都有。我还没有确定它是否是“; Descri”的子字符串,这就是问题所在。我现在通过'指定'替换我的数据中的'描述'一词,完全用kluge解决了这个问题。

这似乎是一个非常奇怪的情况。我做错了什么吗?我该怎么做才能确保将来可以在我的数据中加入“; Descri”?

2 个答案:

答案 0 :(得分:0)

403问题解决方案尝试在htaccess中添加此内容

SecFilterEngine Off
SecFilterScanPOST Off

答案 1 :(得分:0)

由于时间的关系,我刚刚从数据中删除了“描述”一词,问题就消失了。但是几个月后,发生了类似的事情(但触发文本不同),我在网站管理员网站上问了这个问题:https://webmasters.stackexchange.com/questions/115890/how-can-file-content-affect-whether-its-uploading-gets-a-403-error

(不令人满意的)答案在那里。