zoukankan      html  css  js  c++  java
  • 为什么预处理和参数化查询可以防止sql注入呢?

    在传统的写法中,sql查询语句在程序中拼接,防注入(加斜杠)是在php中处理的,然后就发语句发送到mysql中,mysql其实没有太好的办法对传进来的语句判断哪些是正常的,哪些是恶意的,所以直接查询的方法都有被注入的风险。
    在mysql5.1后,提供了类似于jdbc的预处理-参数化查询。它的查询方法是:

    1.先预发送一个sql模板过去
    2.再向mysql发送需要查询的参数


    就好像填空题一样,不管参数怎么注入,mysql都能知道这是变量,不会做语义解析,起到防注入的效果,这是在mysql中完成的。

    参考:https://segmentfault.com/a/1190000008117968 (php操作mysql防止sql注入(合集))

  • 相关阅读:
    FileWatcher
    virtual table(有180个评论)
    this 指针
    docker -ce(社区免费版)
    vue-cli
    CAP理论、BASE理论
    B+树和LSM存储引擎代表树和B-树
    CPU高速缓存
    Python&基础环境搭建
    二叉树
  • 原文地址:https://www.cnblogs.com/gavinyyb/p/9511789.html
Copyright © 2011-2022 走看看