当前位置: 代码迷 >> Java Web开发 >> 项目中textarea,特殊字符怎么办?JSP
  详细解决方案

项目中textarea,特殊字符怎么办?JSP

热度:890   发布时间:2016-04-10 23:05:54.0
项目中textarea,特殊字符怎么处理?JSP
环境是JSP:

项目中一般都会有textarea,其中可能安全原因,有很多特殊字符。
原来他们的做法是,保存的时候采用替换用户的特殊字符
最后显示到页面的时候,再替换回来。
但是我感觉这种方法不是很好。
因为替换的话,可能会有问题,比如:把 <% 替换成某个字符 A
然后页面展示的时候,再把 A 替换回 <% ,但是可能用户原来的输入中本来就有A。
所有这样替换后就和用户输入不一致了。

请问大家在处理textarea提交的时候是怎么处理的?

------解决方案--------------------
你是想资料模糊化吧,
我很想知道你这个textarea 能否修改?
如果能修改 就不是很好处理.

------解决方案--------------------
特殊字符不允许提交;或者在后台对特殊字符做个转义
------解决方案--------------------
换个加密算法试试,寻找替换不是那么复杂,又不会被盗的那种算法,可以试试“位”那块儿的算法转换
------解决方案--------------------
我以前做的时候就是对特殊字符转义
------解决方案--------------------
转码是王道
------解决方案--------------------
调用编辑器
------解决方案--------------------
URIencode下 试试
------解决方案--------------------
可能要用到报文了。。。。。。。呵!
------解决方案--------------------
特殊字符不允许提交;
对于特殊字符,提示不允许提交。。。因为如果你允许提交,那处理方面肯定要多下功夫

------解决方案--------------------
这是我以前做留言板用的,不过是后台处理的,可以保存特殊字符,符号之类的...
你参考参考...

public class StringUtil {

/**
 * 判断输入的字符串参数是否为空。
 * @param args 输入的字串
 * @return true/false
 */
public static boolean validateNull(String args) {
if (args == null 
------解决方案--------------------
 args.length() == 0) {
return true;
} else {
return false;
}
}

/**
 * 判断输入的字符串参数是否为空或者是"null"字符,如果是,就返回target参数,如果不是,就返回source参数。
 */
public static String chanageNull(String source, String target) {
if (source == null 
------解决方案--------------------
 source.length() == 0 
------解决方案--------------------
 source.equalsIgnoreCase("null")) {
return target;
} else {
return source;
}
}

/**
 * 过滤<, >,\n 字符的方法。
 * @param input 需要过滤的字符
 * @return 完成过滤以后的字符串
 */
public static String filterHtml(String input) {
if (input == null) {
return null;
}
if (input.length() == 0) {
return input;
}
input = input.replaceAll("&", "&amp;");
input = input.replaceAll("<", "&lt;");
input = input.replaceAll(">", "&gt;");
input = input.replaceAll(" ", "&nbsp;");
input = input.replaceAll("'", "&#39;");
input = input.replaceAll("\"", "&quot;");
return input.replaceAll("\n", "<br>");
}
}


------解决方案--------------------
只要转换过去存储到数据库,显示页面的时候,不需要替换回来....可直接显示...
  相关解决方案