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

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

  • 相关阅读:
    51nod 1565模糊搜索(FFT)
    51nod 1851俄罗斯方块(trick)
    可持久化线段树(主席树)模板
    BZOJ2191:Splite
    BZOJ4197:[NOI2015]寿司晚宴
    BZOJ3198:[SDOI2013]SPRING
    BZOJ1500:[NOI2005]维修数列
    BZOJ3527:[ZJOI]力
    BZOJ3160:万径人踪灭
    CODE[VS]1372:DNA
  • 原文地址:https://www.cnblogs.com/xiaoxinstart/p/14022951.html
Copyright © 2011-2022 走看看