Jieven VIP5
2016-01-06 开始修炼简单之道
刚刚
Jieven 发表了文章
35月前
Jieven 回复
@麦田的守望者 好吧, 没看清楚, 以为你问的是导入按钮.
导出是一个全局固定按钮, 没有办法在服务端控制.
从权限需求上, 导出和查询是同权限, 没有导出, 也可以复制粘贴, 或者 看JSON请求.
只是在用户心理上不同, 觉得有了导出, 数据就可以被人批量弄走. 其实分页500条, 是一样的.
如果是单个功能, 可以写diy_js remove 掉那个导出按钮.
然后就是你研究的, 全局限制导出条数, 这个也算是一个从根源上封闭数据的办法.
35月前
Jieven 每日打卡
获得金币+6,获得点播券+2
35月前
Jieven 回复
@麦田的守望者 菜单管理>基本功能设置
36月前
Jieven 每日打卡
获得金币+4,获得点播券+2
36月前
Jieven 回复
@haczone 可以重写doLogin 对入参进行过滤处理, 实际上Druid会自动进行SQL注入的防护. 这种扫描也只是大概判断, 没法检查出来是否真的存在注入点.
37月前
Jieven 每日打卡
获得金币+3,获得点播券+2
37月前
Jieven 回复
@我爱eova 专业版默认就可以支持, 开源版你得看eova_role表, 有没有 lv这个字段. 如果有利用这个字段就可以完成权限层级. 权限的二次分配就是利用一个字段来建立层级关系. 我只能看我和我的下级. 专业版就是这样实现的.
37月前
Jieven 回复
@冷冻豆丁 基于最新JFinal UndertowServer的配置方法, 早起的版本配置方法也类似. jfinal 手册有写
37月前
Jieven 回复
@冷冻豆丁
public static void main(String[] args) {
UndertowServer.create(AppConfig.class).addHotSwapClassPrefix("com.eova.").configWeb(builder -> {
// 配置 Filter
// builder.addFilter("myFilter", "com.abc.MyFilter");
// builder.addFilterUrlMapping("myFilter", "/*");
// builder.addFilterInitParam("myFilter", "key", "value");

// 配置 Servlet
// builder.addServlet("myServlet", "com.abc.MyServlet");
// builder.addServletMapping("myServlet", "*.do");
// builder.addServletInitParam("myServlet", "key", "value");

// 配置 Listener
// builder.addListener("com.eova.chat.RequestListener");

// 配置 WebSocket 需使用 ServerEndpoint 注解
builder.addWebSocketEndpoint("com.eova.ose.chat.WebSocketEndpoint");
}).start();
}
37月前
Jieven 每日打卡
获得金币+6,获得点播券+2