注入篇——防注入的安全策略

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Fly_hps/article/details/79509564

前言

前面介绍的很多中注入的方法,那么很多人在想既然有这么多的注入方法,那么是不是整个系统内的网站就没有什么可以防范的方法了呢?当然不是,我们在本小节将会为大家介绍一些常见的防止注入的方法。

想要更好的防止SQL注入攻击,就必须清楚一个概念:数据库只负责执行SQL语句,根据SQL语句来返回相关的数据。数据库并没有什么好的办法直接过滤SQL注入,哪怕是存储过程也不例外。了解这一点之后,我们应该要明白要防止SQL注入其实还得存代码入手。

严格的数据类型

Java 、C++等强类型语言几乎可以完全忽略数字型注入,而对于PHP等弱类型语言来说存在数字型注入的可能性就非常大了,但是我们还是可以通过严格的判断数据类型来进行防范。

特殊字符转义

攻击者在利用SQL注入时往往会尝试构造SQL注入语句,我们可以通过过滤常用的SQL语句中的一些关键词、关键符号等来防止这类注入的利用。

使用预编译语句

像JAVA、C#这些语言都提供了预编译语句,例如Statement、PreparedStatement这些语句都可以进行预编译处理

使用框架

对于JSP、PHP等我们可以是哟相关的技术类框架来提高安全性,但是也不能全部依靠框架,自己在编码的过程中也要注意diam的安全性。

输入验证

凡是存在输入的地方皆可能存在风险,所以每当我们面对用户的输入操作是我们需要进行严格的过滤措施。

面对用户的输入我们有两种不同类型的验证输入方法:白名单和黑名单!

白名单:只允许在该名单内的用户(或者其他凭据信息)通过验证进行登录或者操作。

黑名单:对该名单内的用户名或者IP地址进行封杀,不允许其进行任何操作。

输出编码

我们除了要验证应用程序收到的输入以外,还要对数据进行编码,这样不仅可以防御SQL注入攻击,还能防止出现其他问题,比如XSS。

使用安全函数

为了提高安全性不少的编程语言都有相应的安全函数,我们可以通过使用这些安全函数来提高系统的安全性!

总之,没有绝对的安全,安全是相对的!



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值