2017-05-20 15:13

@bu0.0gu 首先要确保 jfinal 版本为 3.1 或者 3.0,然后还要确保 ViewType 是否为 JFINAL_TEMPLAE

2017-05-19 18:24

@辉落无言 你要是早点单步调试的话,早就解决了,出现问题一定要单步进行调试

2017-05-19 18:22

考虑如下办法:
1:用拦截器,检查请求中的 Referer 是否是本站域名,避免从其它地方跳转过来的恶意请求
2:对于敏感性的业务请求,采用隐藏域传递 token,避免恶意请求伪造请求。在表单提交前必须要先获取到一个 token,并且 token 使用一次立即失效
3:对于大额支付类需要高度案全的场景,甚至可以考虑密码或者验证码验证

jfinal 项目是标准的 java web 项目,所以以前你所掌握的 CSRF 防范的方法依然有用,直接用于 jfinal 项目即可。

充分利用 jfinal 的拦截器、Handler 来进行处理

2017-05-19 18:08

从 jfinal demo 入手,jfinal 手册也要看一遍,三个小时足够上手使用

如果希望更快,加入俱乐部有大量实战代码,直接可用:http://jfinal.com/club

2017-05-19 17:28

jfinal 开发的项目是普通的 java 项目,理论上来说在 jfinal 中使用第三方不一定要有一个整合的动作,直接使用就好

尤其是 jfinal 2.0 版本以后,Model 也有了 getter、setter 方法,就更加方便使用第三方了

2017-05-19 10:28

@aloneJFinal 目前还没有用过 kotlin,暂时没有计划

此外,kotlin 不是直接与 java 打通的吗? 那么在 kotlin 下直接用 jfinal 不就可以了?

2017-05-19 10:10

@辉落无言 我们都是可以的,你可以下载首页的 jfinal demo试试,里面也有删除功能

2017-05-18 18:20

不要将参数直接拼接在 sql 中,而是要用 "?" 进行占位,防止被 sql 注入

2017-05-18 18:19

@辉落无言 抛出异常了没?如果有异常,看一下异常信息,如果没异常,要这样:
Db.update("delete from t_biaoming where fzhujian = ?", "canshu");

2017-05-18 17:55

@caoxusheng 这个是正解, sql 中少了一个 from

2017-05-18 17:51

只要是renderJson(contentPage) 这行代码真正被执行了,就不会出这个问题,检查两个方向:
1:路由弄错了,请求根本没到达 list() 这个 action方法
2:拦截器拦截了请求,但拦截器并没有 inv.invoke() 将请求传递到 action

2017-05-18 17:48

@leomj 调用的地方看一下 ActionHandler 中的 handle 方法, render 操作是在所有相关拦截器执行完以及 action 执行完以后

2017-05-18 17:44

@如梦技术 大神的XSS 方案很不错,好多人在用:
http://blog.dreamlu.net/blog/57

感谢你的分享,赞一个

2017-05-18 14:14

@雷仔仔 ActiveRecordPlugin 没有成功启动,所以后面在操作数据库时的时候会出现 NullPointerException