如何防止HTTP响应截断攻击
问题代码如下
response.setHeader("Content-dis","attache;filename=" + filename);
请问各位如何对这个做处理,排除\r \n
如何防止HTTP响应截断攻击
问题代码如下
response.setHeader("Content-dis","attache;filename=" + filename);
请问各位如何对这个做处理,排除\r \n
对于上述代码中的response.setHeader("Content-dis","attache;filename=" + filename);语句,我们可以采用以下方式对filename进行过滤和编码:
String cleanFilename = filename.replaceAll("[\\r\\n]", "");
response.setHeader("Content-disposition", "attachment;filename=\"" + cleanFilename + "\"");
这里使用了Java中的replaceAll方法,将filename中的所有\r和\n字符替换为空字符串,从而排除了可能被攻击者利用的特殊字符。在设置响应头时,我们还需要将filename用双引号括起来,并将整个Content-disposition头部值写成一个字符串常量,这样可以防止攻击者在响应头中注入额外的内容。