数据进入数据库之前对非法字符进行转义,在更新和显示的时候将非法字符还原
在显示的时候对非法字符进行转义
如果项目还处在起步阶段,建议使用第二种,直接使用jstl的<c:out>标签即可解决非法字符的问题。当然,对于Javascript还需要自己处理一下,写一个方法,在解析从服务器端获取的数据时执行以下escapeHTML()即可。
附:Javascript方法:
StringprototypeescapeHTML = function () {
return thisreplace(/&/g, ‘&’)replace(/>/g, ‘>’)replace(/</g, ‘<’)replace(/”/g, ‘"’);
}
如果项目已经开发完成了,又不想大批量改动页面的话,可以采用第一种方法,此时需要借助Spring MVC的@InitBinder以及orgapachecommonslangPropertyEditorSupport、orgapachecommonslangStringEscapeUtils
public class StringEscapeEditor extends PropertyEditorSupport {
private boolean escapeHTML;
private boolean escapeJavaScript;
private boolean escapeSQL;
public StringEscapeEditor() { super(); }
public StringEscapeEditor(boolean escapeHTML, boolean escapeJavaScript, boolean escapeSQL) {
super();
thisescapeHTML = escapeHTML;
thisescapeJavaScript = escapeJavaScript;
thisescapeSQL = escapeSQL;
}
@Override
public void setAsText(String text) {
if (text == null) {
setValue(null);
ueditorconfigjs 这个js里面有一个serverUrl(服务器统一请求接口路径),所有的请求都是转向这里的,之后在ueditoralljs里面,找到simpleupload(单个上传)对应的注册方法(大概在24405行),方法体内部有wrapperinnerHTML的代码段,form表单对应的action="' + megetOpt('serverUrl') + '" 可以修改这里。
功能源码片段如下:
var URL = windowUEDITOR_HOME_URL || getUEBasePath();
/
配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
/
windowUEDITOR_CONFIG = {
//为编辑器实例添加一个路径,这个不能被注释
UEDITOR_HOME_URL: URL
// 服务器统一请求接口路径
, serverUrl: "/api/uploads/ue" //这里就是你问的上传以及下载url前缀
商业版有这个功能,社区版的功能比较鸡肋,只能reload classes
从上面的图中可以看到,reload class 是在compile之后的,而Intellij没有类似保存java文件就自动compile的功能,需要手动触发下compile, ctrl+shift+f9 就会在左下角看到绿色的提示框了,提示reload了几个class文件
不过这里reload并不能达到真正意义上的hotswap,不过eclipse wtp的hotswap跟这个差不多,只是那个是自动的,intellij也可以通过录制宏来自动化。
想要真正的hotswap,可以度娘 decvm
以上就是关于大家畅所欲言,当jFinal遇到XSS和SQL注入怎么处理全部的内容,包括:大家畅所欲言,当jFinal遇到XSS和SQL注入怎么处理、jfinal + ueditor怎么保存文本内容,图片到数据库mysql、jfinal怎样自动加载修改后的 java 文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)