您的位置:首页 > 数据库

sql注入

2018-10-21 23:15 92 查看

攻击方式:

服务器上的数据库运行非法的SQL语句,主要通过拼接字符串的形式来完成,改变sql语句本身的语义。通过sql语句来实现无账号登录,甚至篡改数据库。

防御:

使用参数化查询:使用预编译语句,预先编译的 SQL 语句,并且传入适当参数多次执行。由于没有拼接的过程,因此可以防止 SQL 注入的发生。 使用preparedStatement的参数化sql,通过先确定语义,再传入参数,就不会因为传入的参数改变sql的语义。(通过setInt,setString,setBoolean传入参数)

            单引号转换:将传入的参数中的单引号转换为连续两个单引号,PHP 中的 Magic quote 可以完成这个功能。

            检查变量数据类型和格式。

           使用正则表达式过滤传入的参数,对特殊符号过滤或者转义处理。
 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: