破阶

乘风破浪会有时,直挂云帆济沧海

防注入的安全策略

前言

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

严格的数据类型

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

特殊字符转义

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

使用预编译语句

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

使用框架

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

输入验证

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

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

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

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

输出编码

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

使用安全函数

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

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

点赞

2003年你错过了淘宝红利,2009年你错过了微博红利,2013年你错过了公众号红利,2018年你错过了抖音红利,2020年的视频号红利,你绝对不能再错过!扫码进行学习。

发表评论

邮箱地址不会被公开。 必填项已用*标注