`
yxwang0615
  • 浏览: 551552 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

插入数据库之前将特殊字符转义

    博客分类:
  • java
J# 
阅读更多
public class CodeFilter {
	/**
	 * to db
	 * @param s
	 * @return
	 */
	public static String toHtml(String s)
    {
    	
        s = Replace(s, "&", "&");
        s = Replace(s, "<", "&lt;");
        s = Replace(s, ">", "&gt;");
        s = Replace(s, "\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
        s = Replace(s, "\r\n", "\n");
        s = Replace(s, "\n", "<br>");
        s = Replace(s, "  ", "&nbsp;&nbsp;");
        s = Replace(s, "'", "&#39;");
        s = Replace(s, "\\", "&#92;");

        
        if (s == null) s = "";
        if (s != null && !s.equals("")) s = s.trim();
        try
		{
          //if (s != null && !s.equals("")) s = new String(s.getBytes("iso-8859-1"));
        }
        catch(Exception e)
        {
          e.printStackTrace();
        }
        return s;
    }
	  /**
	   * to front
	   * @param s
	   * @return
	   */
	  public static String unHtml(String s)
	    {        
	        s = Replace(s, "&amp;", "&");
	        s = Replace(s, "&nbsp;", " ");
	        s = Replace(s, "&#39;", "'");        
	        s = Replace(s, "&lt;", "<");
	        s = Replace(s, "&gt;", ">");
	        s = Replace(s, "<br>", "\n");
	        s = Replace(s, "?D", "—");
	        return s;
	    }
	
	
	
	
	
	
	
	
	
	
	private static String Replace(String s, String s1, String s2)
	    {
	        if(s == null)
	        {
	            return null;
	        }
	        StringBuffer stringbuffer = new StringBuffer();
	        int i = s.length();
	        int j = s1.length();
	        int k;
	        int l;
	        for(k = 0; (l = s.indexOf(s1, k)) >= 0; k = l + j)
	        {
	            stringbuffer.append(s.substring(k, l));
	            stringbuffer.append(s2);
	        }

	        if(k < i)
	        {
	            stringbuffer.append(s.substring(k));
	        }
	        return stringbuffer.toString();
	    }
	 
}

 

分享到:
评论

相关推荐

    MySQL数据入库时特殊字符处理详解

    在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“”)开头,称为转义字符。 MySQL 识别下列转义字符: 0 一个 ASCII 0 (NUL) 字符。 ‘ 一个 ASCII 39 单引号 (“’”) 字符。 ” 一个 ASCII ...

    php插入含有特殊符号数据的处理方法

    而这个时候一般就是使用addslashes()这个函数来转义数据中的特殊字符 处理方法 PHP为了安全性,所以引入了个magic_quotes_gpc = On的功能,可以不需要做任何处理就能直接把单引号插入数据库中,那么对于Off时,则...

    工业互联网安全测试技术:数据库攻击.docx

    防御者可能在用户输入恶意数据时对其中的特殊字符进行了转义处理,但在恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,当web程序调用存储在数据库中恶意数据并执行SQL查询时,就发生了SQL二次注入。...

    pymysql 插入数据 转义处理方式

    插入(查询)数据时遇到一些特殊字符会使得程序中断。操作失败。比如 \这样的转义字符 解决方案 插入(查询)之前用 connection.escape(str)处理一下即可 代码示例 import pymongo sql_pattern = select * from my_...

    mysql数据库的基本操作语法

    空字符串“”是不等于null,0也不等于null create table temp( id int not null, name varchar(255) not null default ‘abc’, sex char null ) 上面的table加上了非空约束,也可以用alter来修改或增加非空约束 ...

    SQL二次注入和截断联合使用

     二次注入的原理也是非常的简单,在第一次进行数据库插入数据的时候,仅仅只是使用了 addslashes 或者是借助 get_magic_quotes_gpc 对其中的特殊字符进行了转义,在写入数据库的时候还是保留了原来的数据,但是...

    揭开SQL注入的神秘面纱.pdf

    揭开SQL注入的神秘面纱 SQL 注入是一种代码注入技术,用于攻击基于数据库的应用,基本原理是将SQL语句...SQL 注入通过应用软件的安全漏洞(比如说用户输入的特殊字符没有被转义、或用户输入不是强类型导致意外执行)

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例043 使用转义字符输出特殊字符 74 实例044 使用常量指定PI的值计算圆的面积 75 2.2 运算符 75 实例045 自定义数字的加密/解密算法 76 实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例043 使用转义字符输出特殊字符 74 实例044 使用常量指定PI的值计算圆的面积 75 2.2 运算符 75 实例045 自定义数字的加密/解密算法 76 实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 ...

    PHP程序开发范例宝典III

    实例115 验证字符串是否以指定字符串开头 172 实例116 验证身份证号码 174 实例117 验证护照编号 175 实例118 验证车牌号码 176 4.4 自定义验证 177 实例119 验证合法的数据表名称 178 实例120 验证...

    PHP和MySQL Web开发第4版pdf以及源码

    10.2 在数据库中插入数据 10.3 从数据库中获取数据 10.3.1 获取满足特定条件的数据 10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 10.3.6 使用子查询...

    PHP和MySQL Web开发第4版

    10.2 在数据库中插入数据 10.3 从数据库中获取数据 10.3.1 获取满足特定条件的数据 10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 10.3.6 使用子查询...

    PHP和MySQL WEB开发(第4版)

    10.2 在数据库中插入数据 10.3 从数据库中获取数据 10.3.1 获取满足特定条件的数据 10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 10.3.6 使用子查询 10.4 ...

    php网络开发完全手册

    7.5.4 转义正则表达式字符——preg_ 7.5.4 quote 113 7.5.5 执行正则表达式的搜索和替换 7.5.5 函数——preg_replace 114 7.5.6 通过回调函数执行正则表达式 7.5.6 的搜索和替换——preg_replace_ 7.5.6 callback ...

    C#编程经验技巧宝典

    19 &lt;br&gt;0038 巧用“^=”运算符 19 &lt;br&gt;0039 巧用位移运算符 20 &lt;br&gt;0040 使用条件运算符 20 &lt;br&gt;0041 巧用分隔符 20 &lt;br&gt;0042 如何处理转义字符 21 &lt;br&gt;0043 “;”结束符问题 21 ...

    powerbuilder

    由于PowerBuilder使用数值0(即ASCII码为0的字符)结束每个字符串,因此,如果打印控制序列中包含了数值0,应用程序需要使用其它字符在参数string中替代数值0,并用zerochar参数指明这个替代字符。一般来说,应该...

    ChineseFramework大型WEB应用框架程序

    段内空(如果设置了欢迎,默认), 是否自动对特殊字符进行转义(防SQL Inject, 可设置是否开启, 默认为关). 并支持多种参数形式, 如键为字段名, 数组值为字段值的PHP数组, 如: array( field1 =&gt; xxx, field2 =...

    PHP开发实战1200例源码

    实例043 使用转义字符输出特殊字符 74 实例044 使用常量指定PI的值计算圆的面积 75 2.2 运算符 75 实例045 自定义数字的加密/解密算法 76 实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 ...

    SQL培训第一期

    escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。 select * from Student_a where name like '%$%%' escape '$'; 1.7.6...

Global site tag (gtag.js) - Google Analytics