zoukankan      html  css  js  c++  java
  • sql注入与参数化查询

    Sql注入:用户的输入中嵌套有sql语句,当采用动态拼接sql语句的时候,会把这些sql语句也拼接起来,
    改变了原来的sql语句的语义,最终可能导致一些灾难性的后果。
    解决办法:采用参数化查询的方式。
    参数化查询为什么能解决一部分sql注入?
    参数化查询是在数据库完成sql指令的编译之后,套用参数运行,即使参数中含有指令,也会被数据库当做参数执行。
    另外参数化查询的方式会重用执行计划,省去了重新编译的时间,提高了操作数据库的效率。
    注意事项:
    使用参数化查询的时候需要指定参数的类型和size,
    如果没有指定参数的类型,托管代码不能自动识别参数类型,进而会对该字段进行全表扫描已确定参数类型并进行转换,会消耗不必要的性能。
    如果不指定size,会导致数据库每次都根据传入的参数值判断这个参数的size,这样就导致数据库的执行计划不重用,浪费了执行时间。

  • 相关阅读:
    favicon.ico请求处理
    Node.js学习(Node.js基础)
    实现主机访问虚拟机网页的方法总结
    有向/无向图中搜环
    后缀自动机
    莫队算法
    A* 算法求第k短路径
    次小生成树算法
    AC自动机详解
    Link-Cut-Tree详解
  • 原文地址:https://www.cnblogs.com/xiaoxinstart/p/14022951.html
Copyright © 2011-2022 走看看