欢迎您!  用户中心|安全退出
设为首页|收藏本站|
泰州市欣兴玻纤制品有限公司
  • 网站首页
  • 关于我们
    公司简介
    在线留言
    在线反馈
    联系我们
  • 新闻资讯
    公司动态
    业界资讯
  • 产品供应
    玻纤布
    硅胶布
    氟胶布
    陶瓷布
    硅胶防火套管
    高硅氧布
    灭火毯
    非金属蒙皮
    非金属补偿器
    特氟龙高温制品
    聚四氟乙烯制品
  • 服务中心
    知识问答
    服务网络
    服务内容
    资料下载
  • 客户案例
  • 招贤纳士
  • 联系我们
姜堰市欣兴玻纤制品厂欢迎您!
Email:844100620@qq.com或者留言给我们!
   

服务中心

知识问答
服务网络
服务内容
资料下载

联系方式

泰州市欣兴玻纤制品有限公司
手  机:159-9606-3029(刘女士)
传  真:0523-88693948
邮  编:225500
Email:844100620@qq.com
厂  址:江苏省姜堰市娄庄镇金鑫路1号
网  址:www.xinxingboxian.cn
Q  Q  : 541303675

您的位置: 网站首页 > 服务中心 > 知识问答
知识问答

请教如何将HTML写入数据库

将HTML写入数据库的基本原则就是将HTML的标签进行编码和解码。

以下是JAVA代码。


/**
* 获取表单参数的数值。
*
* param escapeHTMLTags escapeHTMLTags=true不允许使用htmltag。
*/
public static String getEscapeHTMLParameter(HttpServletRequest request
, String paramName
, String defaultValue) {
String temp = StringUtils.escapeHTMLTags(RequestUtils.getParameter(request
, paramName, true));
if ( (temp == null) || (temp.equals(""))) {
temp = defaultValue;
}
return StringUtils.nullToString(temp);
}
*/
public static final String escapeHTMLTags(String input) {
//Check if the string is null or zero length -- if so, return
//what was sent in.
if (input == null || input.length() == 0) {
return input;
}
//Use a StringBuffer in lieu of String concatenation -- it is
//much more efficient this way.
StringBuffer buf = new StringBuffer(input.length());
char ch = ' ';
for (int i = 0; i < input.length(); i++) {
ch = input.charAt(i);
if (ch == '<') {
buf.append("<");
}
else if (ch == '>') {
buf.append(">");
}
else {
buf.append(ch);
}
}
return buf.toString();
}


html文本写入数据库需要转换的字符:

public static string htmlToText(string html)
{
 
        html = html.Replace("&", "&amp;");
 
        html = html.Replace("'", "''");
 
        html = html.Replace("<", "&lt;");
 
        html = html.Replace(">", "&gt;");
 
        html = html.Replace("chr(60)", "&lt;");
 
        html = html.Replace("chr(37)", "&gt;");
 
        html = html.Replace("\"", "&quot;");
 
        html = html.Replace(";", ";");
 
        html = html.Replace("\n", "<br/>");
 
        html = html.Replace(" \n", "<br/>");
 
        html = html.Replace(" ", "&nbsp;");
 
        return html;
}
 

ado.net中还可以用SQL的参数化SQL语句防止HTML的注入,比如下面的例子,可以将remark的内容视为HTML的内容:

 

 1     public bool IsInsert(string userName, string password, string remark, string mail, int departId, int power)
 2     {
 3         string sql = "insert into S_Admin(UserName,Password,Remark,Mail,DepartId,Power)values(@UserName,@Password,@Remark,@Mail,@DepartId,@Power)";
 4         SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings[""].ToString());
 5         SqlCommand command = new SqlCommand(sql, connection);        
 6         command.Parameters.Add("@UserName",SqlDbType.NVarChar, 60).Value = userName;
 7         command.Parameters.Add("@Password", SqlDbType.NVarChar, 60).Value = password;
 8         command.Parameters.Add("@Remark", SqlDbType.NVarChar, 60).Value = remark;
 9         command.Parameters.Add("@Mail", SqlDbType.NVarChar, 60).Value = mail;
10         command.Parameters.Add("@DepartId", SqlDbType.Int, 4).Value = departId;
11         command.Parameters.Add("@Power", SqlDbType.Int, 4).Value = power;
12         connection.Open();
13         int rowsAffected = command.ExecuteNonQuery();
14         connection.Close();
15         command.Dispose();
16         return rowsAffected > 0;
17         
18     }
 
 

 

分享到:
  更新时间:2014-03-05 23:38:33  【打印此页】
上一条:见证无锡兰桂坊的成长[1]
业界资讯|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图|网站管理

© 2013-2016泰州市欣兴玻纤制品有限公司 版权所有 - 苏ICP备17005987号

厂 址:江苏省姜堰市娄庄镇金鑫路1号

手 机:159-9606-3029(刘女士) 传 真:0523-88693948
Q Q:844100620 Email:844100620@qq.com