zoukankan      html  css  js  c++  java
  • SQL面试宝典一:

    1.什么是sql  Injection(sql  注入)?如何防止?

    答:是一种恶意将sql代码添加到输入参数中,传递到sql服务器解析并执行的一种攻击手法。

    防止:1.对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等;

    2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

    3.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

    4.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装。

    5.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台

    就有亿思网站安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。

    2.什么是存储过程?

    答:存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。

    优点:

    1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。

    2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。

    3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码

    4.更好的安全机制,对于没有权限执行存储过程的用户,也可授权他们执行存储过程。

  • 相关阅读:
    java实现httpclient 访问
    推荐博文
    Running With xpi
    1 Spring MVC 原理
    windows服务相关
    求职面试三部曲
    使用mvn插件执行工程单元测试OOM的解决办法
    maven-surefire插件问题
    小问题
    NFA到DFA实例
  • 原文地址:https://www.cnblogs.com/fzqm-lwz/p/10539398.html
Copyright © 2011-2022 走看看