zoukankan      html  css  js  c++  java
  • 29、SQL注入攻击了解吗?

    攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构 造,并在数据库中执行。

    用户登录,输入用户名 lianggzone,密码 ‘ or ‘1’=’1 ,如果此时使用参数构造的方式,就会出现 select * from user where name = ‘lianggzone’ and password = ‘’ or ‘1’=‘1’

    不管用户名和密码是什么内容,使查询出来的用户列表不为空。如何防范SQL注入攻击使用预编译的 PrepareStatement是必须的,但是一般我们会从两个方面同时入手。

    Web端

    1)有效性检验。

    2)限制字符串输入的长度。

    服务端

    1)不用拼接SQL字符串。

    2)使用预编译的PrepareStatement。

    3)有效性检验。(为什么服务端还要做有效性检验?第一准则,外部都是不可信的,防止攻击者绕过 Web端请求)

    4)过滤SQL需要的参数中的特殊字符。比如单引号、双引号。

  • 相关阅读:
    GC原理---垃圾收集算法
    GC原理---对象可达判断
    散列算法和哈希表结构
    桶排序
    Spring事务梳理
    AQS
    重入锁
    CAS
    研究一下phpspider
    用php写爬虫去爬数据
  • 原文地址:https://www.cnblogs.com/crbhf/p/15114810.html
Copyright © 2011-2022 走看看