- 浏览: 187886 次
- 性别:
- 来自: 青岛
-
文章分类
- 全部博客 (117)
- java基础知识 (17)
- 技术积攒 (9)
- Oracle技术 (4)
- JSP技术 (6)
- Spring技术 (15)
- Linux技术 (6)
- Hibernate技术 (24)
- JPA技术 (1)
- Struts技术 (1)
- Struts2技术 (6)
- javascript知识 (4)
- myeclipse 使用技巧 (3)
- JavaEE技术 (2)
- JSTL (1)
- javamail技术 (1)
- jaf 技术 (1)
- 测试方法 (1)
- web技术积攒 (1)
- tomcat事项 (5)
- mysql使用 (1)
- 趣味题目 (2)
- 技术词汇 (1)
- EJB3.0 (2)
- weblogic 使用说明 (1)
- CSS (1)
最新评论
-
chenhao_java:
知识点五:依赖注入-自动装配依赖对象 -
黑白配:
为什么没有看见三个附件呢?
JavaMail jsp发送邮件 html格式 -
chunchong:
真晕,这样怎么能行呢
JAVA中防止SQL注入攻击类的源代码 -
Rod_johnson:
学习了!真不错
Hibernate:类继承的实现方式(二)--父子类各自一个表 -
erchong2011:
恩 很不错 学习了 简单
jsp页面自动跳转方式
防止SQL注入的Javascript代码::::
后台处理::::
看到了一段防止SQL注入的JavaScript代码,但是似乎在后台解决的话会更好。 <SCRIPT language="JavaScript"> function Check(theform) { if (theform.UserName.value=="") { alert("请输入用户名!") theform.UserName.focus(); return (false); } if (theform.Password.value == "") { alert("请输入密码!"); theform.Password.focus(); return (false); } } function IsValid( oField ) { re= /select|update|delete|exec|count|'|"|=|;|>|<|%/i; $sMsg = "请您不要在参数中输入特殊字符和SQL关键字!" if ( re.test(oField.value) ) { alert( $sMsg ); oField.value = ''; oField.focus(); return false; } } </SCRIPT>
后台处理::::
JAVA-字符串过滤类 package cn.com.hbivt.util; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2005</p> * * <p>Company: </p> * * @author not attributable * @version 1.0 */ public class StringUtils { //过滤通过页面表单提交的字符 private static String[][] FilterChars={{"<","<"},{">",">"},{" "," "},{"\"","""},{"&","&"}, {"/","/"},{"\\","\"},{"\n","<br>"}}; //过滤通过javascript脚本处理并提交的字符 private static String[][] FilterScriptChars={{"\n","\'+\'\\n\'+\'"}, {"\r"," "},{"\\","\'+\'\\\\\'+\'"}, {"\'","\'+\'\\\'\'+\'"}}; /** * 用特殊的字符连接字符串 * @param strings 要连接的字符串数组 * @param spilit_sign 连接字符 * @return 连接字符串 */ public static String stringConnect(String[] strings,String spilit_sign){ String str=""; for(int i=0;i<strings.length;i++){ str+=strings[i]+spilit_sign; } return str; } /** * 过滤字符串里的的特殊字符 * @param str 要过滤的字符串 * @return 过滤后的字符串 */ public static String stringFilter(String str){ String[] str_arr=stringSpilit(str,""); for(int i=0;i<str_arr.length;i++){ for(int j=0;j<FilterChars.length;j++){ if(FilterChars[j][0].equals(str_arr[i])) str_arr[i]=FilterChars[j][1]; } } return (stringConnect(str_arr,"")).trim(); } /** * 过滤脚本中的特殊字符(包括回车符(\n)和换行符(\r)) * @param str 要进行过滤的字符串 * @return 过滤后的字符串 * 2004-12-21 闫 */ public static String stringFilterScriptChar(String str){ String[] str_arr=stringSpilit(str,""); for(int i=0;i<str_arr.length;i++){ for (int j = 0; j < FilterScriptChars.length; j++) { if (FilterScriptChars[j][0].equals(str_arr[i])) str_arr[i] = FilterScriptChars[j][1]; } } return(stringConnect(str_arr,"")).trim(); } /** * 分割字符串 * @param str 要分割的字符串 * @param spilit_sign 字符串的分割标志 * @return 分割后得到的字符串数组 */ public static String[] stringSpilit(String str,String spilit_sign){ String[] spilit_string=str.split(spilit_sign); if(spilit_string[0].equals("")) { String[] new_string=new String[spilit_string.length-1]; for(int i=1;i<spilit_string.length;i++) new_string[i-1]=spilit_string[i]; return new_string; } else return spilit_string; } /** * 字符串字符集转换 * @param str 要转换的字符串 * @return 转换过的字符串 */ public static String stringTransCharset(String str){ String new_str=null; try{ new_str=new String(str.getBytes("iso-8859-1"),"GBK"); } catch(Exception e){ e.printStackTrace(); } return new_str; } /** * 测试字符串处理类 * @param args 控制台输入参数 */ public static void main(String[] args){ //测试字符串过滤 String t_str1="<h1>StringDispose字符串 处理\n\r\'\"</h1>"; System.out.println("过滤前:"+t_str1); System.out.println("过滤后:"+StringUtils.stringFilter(t_str1)); //测试合并字符串 String[] t_str_arr1={"PG_1","PG_2","PG_3"}; String t_str2=StringUtils.stringConnect(t_str_arr1,","); System.out.println(t_str2); //测试拆分字符串 String[] t_str_arr2=StringUtils.stringSpilit(t_str2,","); for(int i=0;i<t_str_arr2.length;i++){ System.out.println(t_str_arr2[i]); } } }
评论
4 楼
chunchong
2011-11-16
真晕,这样怎么能行呢
3 楼
cq.ronadlo
2011-03-01
[color=brown][/color]。,,,
2 楼
shouzhang1_2
2010-08-05
这真的可以防止吗?如果用get请求 直接 在url上 输入 可以轻松的避开js。
1 楼
king520
2010-06-02
mark下
发表评论
-
将文字写到图片上
2009-09-21 15:15 1442import java.io.*; import com.s ... -
java中的URLEncoder和URLDecoder类
2009-07-23 10:54 1119java中的URLEncoder和URLDecoder类 ... -
国际化: 理解Java平台上的Locale
2009-07-10 10:33 742语言和地理环境对我们 ... -
assert使用小结
2009-06-05 15:50 965assert使用小结 assert expre ... -
抽象类和接口的区别
2009-06-05 15:40 642声明方法的存在而不去实现它的类被叫做抽象类(abstract ... -
Overload和Override的区别
2009-06-05 15:38 915方法的重写Overriding和重载Overloading是J ... -
CGLIB代理
2009-06-01 10:54 1378被代理的类如果实现接口,那么使用JDK的代理模式,设计到Pro ... -
Java代理模式
2009-06-01 09:50 19011.代理模式 代理模式的作用是:为其他对象提供一种代理以控制 ... -
Java enum 枚举类型(二)
2009-05-25 10:43 7128Enum作为Sun全新引进的一 ... -
Java enum 枚举类型(一)
2009-05-25 10:39 3843枚举类型是一个常量集 ... -
java集合类分析
2009-05-23 11:53 842-集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框 ... -
j2se 5.0中的泛型
2009-05-23 10:40 1310摘要 泛型是j2se 5.0最重要的特性。他们让 ... -
Java 多种文件读写方式
2009-05-23 10:31 1039/* 前两天用到读写文件的操作,上网搜了一些这方面的资料。很有 ... -
TreeMap用法 排序 示例
2009-05-23 10:27 3115TreeMap类通过使用树来实现Map接口.TreeMap提供 ... -
java线程同步synchronized的理解
2009-05-20 11:51 1020由于同一进程的多个线 ... -
java多线程技术
2009-05-19 09:06 1019我对于线程,进程的概念一直都是比较模糊,最近整理了一下。总结起 ...
相关推荐
### SQL防注入式攻击源代码知识点解析 #### 一、SQL注入概述 SQL注入是一种常见的安全漏洞,攻击者可以通过在应用程序的输入字段中插入恶意SQL语句来操纵数据库执行非授权操作。这种攻击可能导致敏感数据泄露、...
该算法通过一系列分析步骤构建了抽象语法树,并在此基础上定义了检测规则,进行遍历和跟踪,以检测Java源代码中可能的SQL注入路径。该方法适用于在Web应用程序部署前的安全性检查,对于保障Web应用安全、防止数据...
在这个"SQL注入漏洞演示源代码"中,我们可以深入理解这种攻击方式的工作原理以及如何预防它。SQL注入是一种利用不安全的Web应用程序来执行恶意SQL命令的攻击手段,攻击者可以通过在输入字段中插入SQL代码来操控后台...
HDSI(可能代表SQL注入 Hacker's Data Scan Instrument)是一款基于Pascal语言编写的SQL注入工具,它的源代码可以为开发者提供深入理解SQL注入攻击机制的机会,同时也能帮助安全研究人员学习如何检测和防止此类攻击...
本书包含所有与SQL注入攻击相关的、当前已知的信息,凝聚了由本书作者组成的、无私奉献的SQL注入专家团队的所有深刻见解。 什么是SQL注入?理解它是什么以及它的基本原理 查找、确认和自动发现SQL注入 查找代码...
本书包含所有与SQL注入攻击相关的、当前已知的信息,凝聚了由本书作者组成的、无私奉献的SQL注入专家团队的所有深刻见解。 什么是SQL注入?理解它是什么以及它的基本原理 查找、确认和自动发现SQL注入 查找代码...
在这个"SQL注入漏洞演示源代码"中,我们可以深入理解这种攻击方式的工作原理,并学习如何防止它。 SQL注入是通过输入恶意的SQL语句来操纵或破坏数据库的一种手段。攻击者通常在Web表单中输入特殊字符或者构造特定的...
标题中的"SQL注入源码+SQL注入命令"提示我们将探讨实际的源代码片段和可能的注入命令。在Java应用中,通常使用JDBC(Java Database Connectivity)来与MySQL这样的数据库进行交互。当开发者没有对用户输入的数据进行...
其次,SQL漏洞静态代码检测工具则从源代码层面进行分析,对程序进行深度扫描,寻找可能导致SQL注入的编程错误。这种工具通常会检查SQL查询语句的构造方式,例如是否存在字符串拼接构建SQL语句的情况,或者是否使用了...
源代码中可能包含以下关键部分: 1. 数据库连接配置:这通常在配置文件中(如db.properties),包含数据库URL、用户名、密码等信息。 2. 数据库连接类:负责建立和管理数据库连接,如`DBConnection.java`,可能实现...
- **防止SQL注入**:使用预编译语句或ORM框架(如Hibernate)来避免恶意输入导致的数据安全问题。 - **性能优化**:通过缓存技术(如Redis)减少数据库访问,提高响应速度。 - **安全性**:HTTPS协议保证数据传输...
在实际开发中,我们需要编写SQL语句来创建表、插入数据、更新数据和查询数据,同时,还可以利用PreparedStatement和CallableStatement等接口提高效率,防止SQL注入攻击。 在用户界面方面,Java提供了Swing和JavaFX...
6. **安全性与性能**:Java的安全框架,如Spring Security,用于保护敏感信息,防止SQL注入攻击。而数据库优化,如索引设计、查询优化,能提升系统的响应速度。 7. **日志与监控**:系统会记录操作日志,便于故障...
7. **安全防护**:防止SQL注入攻击,通过预编译或转义特殊字符等方式确保SQL语句的安全性。 在Java中实现这样的SQL生成器,可能涉及到的技术有: - **JDBC(Java Database Connectivity)**:Java连接数据库的标准...
这里的`#{id}`是一个占位符,Mybatis会在执行查询时正确地处理它,从而防止SQL注入攻击。 总的来说,处理闭源应用的CodeQL数据库创建涉及反编译、编译以及利用CodeQL CLI创建数据库。同时,对于防止SQL注入,应遵循...
例如,使用PreparedStatement可以防止SQL注入攻击,提高代码的安全性。 此外,为了处理HTTP请求,可能还使用了Java Servlet技术。Servlet是Java平台上的一个标准,用于扩展服务器的功能。当客户端发送HTTP请求时,...
SQL注入攻击是网络安全中的一大威胁,它利用了Web应用程序对用户输入数据的处理不当,使得攻击者能够构造恶意的SQL代码,从而控制或篡改数据库中的数据。在本文中,我们将深入探讨一种新型的SQL注入攻击检测机制,该...