Java防止SQL注入
SQL注入是最常见的攻击方式之一,它不是利用操作系统或其它系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法
用户钻了SQL的空子,下面我们先来看下什么是SQL注入:
比如在一个登陆界面,要求用户输入用户名和密码:
用户名: ' or 1=1 --
密 码:
点登陆,如若没有做特殊处理,而只是一条带条件的查询语句如:
String sql="select * from users where username='"+userName+"' and password='"+password+"' "
那么这个非法用户就很得意的登陆进去了.(当然现在的有些语言的数据库API已经处理了这些问题)
这是为什么呢?我们来看看这条语句,将用户输入的数据替换后得到这样一条语句:
select * from users where username='' or 1=1 --' and password=''
为了更明白些,可以将其复制到SQL分析器中,将会发现,这条语句会将数据库的数据全部读出来,为什么呢?
很简单,看到条件后面 username='' or 1=1 用户名等于 '' 或 1=1 那么这个条件一定会成功,然后后面加两个-,这意味着
什么?没错,注释,它将后面的语句注释,让他们不起作用,这样就可以顺利的把数据库中的数据读取出来了。
这还是比较温柔的,如果是执行
select * from users where username='' ;DROP Database (DB Name) --' and password=''
.......其他的您可以自己想象。。。
那么我们怎么来处理这种
相关文档:
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、OpenC++ 、MetaXa和OpenJava等就是基于反射机制的语言。最近 ......
select * into destTbl from srcTbl
insert into destTbl(fld1, fld2) select fld1, 5 from srcTbl
以上两句都是将 srcTbl 的数据插入到 destTbl,但两句又有区别的:
第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建。
第二句(insert into select from)要求目标表(dest ......
通过EXCEL导入SSAS项目
(1)本地配置HTTP
主要步骤:
I)新建目录olap,拷贝文件将 %Installation folder%\OLAP\bin\isapi 目录的内容,主要是msmdpump.dll和msmdpump.ini;
II)建立虚拟目录olap, 配置msmdpump.dll,目录安全性选择匿名访问和windows集成。
http://www.microsoft.com/china/technet/prodtechn ......
SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法
SELECT column_name(s) from table_name1
UNION
SELECT column_name(s) from table_na ......
(适用 SQL Server 2005 其他版本)
收藏
SQL Server 2005 Express 是微软提供的数据库的低端解决方案,
可免费任意随产品分发, 可以在XP等非专业服务器系统下安装, 还可以远程访问, 对于小型数据应用程序已足够满足数据使用要求.
默认安装下,SQL Server ......