SQL注入

前言:

    最近做的一个B/S项目,基本上就是前台网页+数据库就OK了,但是输入带有注释码的字符就可能篡改数据库!接下来为您举例!

正文:

    1、比如我们要在给数据库插入一条数据:即,text_info表name中插入“Jackey”两个字符;

    SQL的执行应该语句为:

insert into test_info(name) values('Jackey')
    2、网页的输入框就应该输入:Jackey

    如图所示:


    不过一些熟悉数据库的里可以在输入框里这样写:小姜);drop table test_info--

    如图所示:

    这句话被执行到SQL里边是什么意思呢:

Insert into test_info(name) values(小姜);drop table test_info--)
    也就是输入的字符巧妙的把代码分成了两句:一句是插入一个“小姜”的字段;另一句应该能让你哭一年,就是那这张表删掉。不用别人找,你自杀的心都有!

    有问题肯定有解决方法:

     问题:数据库写入字符造成代码注入!

     解决:传入数据库的时候不直接传字符,而是用变量代替。
    简单的写了一个插入的存储过程分享给大家吧:

ALTER PROCEDURE [dbo].[news_insert]
@title varchar(100),
@content text,
@caid int
AS
BEGIN
	insert into news (title,[content],caId)
	values(@title,@content,@caid)
END

总结:

    软件的安全一部分是靠自己设计严密性,另一种是靠历代黑客前辈们发现的漏洞,我们再一一补洞!形成越来越晚上的安全体系,但并不是绝对安全,这也是我们为之努力的方向!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值