这样一个语句:
sql="select id,title,adddate from WygkcnZWB_News where title like '%"+key +"%' order by id desc";
其中key的定义如下:
protected string key = string.Empty;key变量接收其他页面传来的QueryString值。我的理解是不管key接收什么字符,哪怕有危险字符,但是数据库只会把它当成文本,去和字段中的值去比较匹配,而不会当成sql语句来执行,这样就不存在sql注入的危险了,上面的语句就不用写成
sql="select id,title,adddate from WygkcnZWB_News where title like '%@key%' order by id desc";这样的形式了,不知道我理解的对不对。
sql="select id,title,adddate from WygkcnZWB_News where title like '%"+key +"%' order by id desc";
其中key的定义如下:
protected string key = string.Empty;key变量接收其他页面传来的QueryString值。我的理解是不管key接收什么字符,哪怕有危险字符,但是数据库只会把它当成文本,去和字段中的值去比较匹配,而不会当成sql语句来执行,这样就不存在sql注入的危险了,上面的语句就不用写成
sql="select id,title,adddate from WygkcnZWB_News where title like '%@key%' order by id desc";这样的形式了,不知道我理解的对不对。
sql=
"
select id,title,adddate from WygkcnZWB_News where title like
'%"+ "1%' or 1=1 -- " +"%'
order by id desc
";如果你的连接字符串是可写的:
删除表:
sql=
"
select id,title,adddate from WygkcnZWB_News where title like
'% "+ "1%' Go drop table WygkcnZWB_News -- " +"%'
order by id desc
";如果你的链接字符串使用帐号是SA的权限....
那你的数据库有完了...以上例子只是示范,不一定能运行.