修复界面存在的一些安全问题

master
RuoYi 6 years ago committed by Limy
parent 075b0ca1b8
commit 9fa3f4e054

@ -20,7 +20,7 @@
<shiro.version>1.4.0</shiro.version> <shiro.version>1.4.0</shiro.version>
<thymeleaf.extras.shiro.version>2.0.0</thymeleaf.extras.shiro.version> <thymeleaf.extras.shiro.version>2.0.0</thymeleaf.extras.shiro.version>
<mybatis.boot.version>1.3.2</mybatis.boot.version> <mybatis.boot.version>1.3.2</mybatis.boot.version>
<druid.version>1.1.10</druid.version> <druid.version>1.1.13</druid.version>
<bitwalker.version>1.19</bitwalker.version> <bitwalker.version>1.19</bitwalker.version>
<kaptcha.version>2.3.2</kaptcha.version> <kaptcha.version>2.3.2</kaptcha.version>
<swagger.version>2.7.0</swagger.version> <swagger.version>2.7.0</swagger.version>

@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.base.AjaxResult; import com.ruoyi.common.base.AjaxResult;
import com.ruoyi.common.config.Global; import com.ruoyi.common.config.Global;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUploadUtils; import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.framework.config.ServerConfig; import com.ruoyi.framework.config.ServerConfig;
@ -45,9 +46,13 @@ public class CommonController
@GetMapping("common/download") @GetMapping("common/download")
public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request)
{ {
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
try try
{ {
if (!FileUtils.isValidFilename(fileName))
{
throw new Exception(StringUtils.format(" 文件名称({})非法,不允许下载。 ", fileName));
}
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
String filePath = Global.getDownloadPath() + fileName; String filePath = Global.getDownloadPath() + fileName;
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");

@ -282,7 +282,6 @@
url: options.url, // 请求后台的URL* url: options.url, // 请求后台的URL*
ajaxParams: options.ajaxParams, // 请求数据的ajax的data属性 ajaxParams: options.ajaxParams, // 请求数据的ajax的data属性
height: options.height, // 表格树的高度 height: options.height, // 表格树的高度
ajaxParams: {}, // 请求数据的ajax的data属性
expandColumn: options.expandColumn, // 在哪一列上面显示展开按钮 expandColumn: options.expandColumn, // 在哪一列上面显示展开按钮
striped: options.striped, // 是否显示行间隔色 striped: options.striped, // 是否显示行间隔色
bordered: true, // 是否显示边框 bordered: true, // 是否显示边框

@ -1,6 +1,7 @@
package com.ruoyi.common.page; package com.ruoyi.common.page;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.sql.SqlUtil;
/** /**
* *
@ -57,7 +58,7 @@ public class PageDomain
public void setOrderByColumn(String orderByColumn) public void setOrderByColumn(String orderByColumn)
{ {
this.orderByColumn = orderByColumn; this.orderByColumn = SqlUtil.escapeSql(orderByColumn);
} }
public String getIsAsc() public String getIsAsc()
@ -67,6 +68,6 @@ public class PageDomain
public void setIsAsc(String isAsc) public void setIsAsc(String isAsc)
{ {
this.isAsc = isAsc; this.isAsc = SqlUtil.escapeSql(isAsc);
} }
} }

@ -13,6 +13,8 @@ import java.io.OutputStream;
*/ */
public class FileUtils public class FileUtils
{ {
public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+";
/** /**
* byte * byte
* *
@ -87,4 +89,15 @@ public class FileUtils
} }
return flag; return flag;
} }
/**
*
*
* @param filename
* @return true false
*/
public static boolean isValidFilename(String filename)
{
return filename.matches(FILENAME_PATTERN);
}
} }

@ -0,0 +1,24 @@
package com.ruoyi.common.utils.sql;
import com.ruoyi.common.utils.StringUtils;
/**
* sql
*
* @author ruoyi
*/
public class SqlUtil
{
/**
* sql
*/
public static String escapeSql(String value)
{
if (StringUtils.isNotEmpty(value))
{
value = value.replaceAll("\\(", "");
value = value.replaceAll("\\)", "");
}
return value;
}
}
Loading…
Cancel
Save