博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL面试宝典一:
阅读量:6502 次
发布时间:2019-06-24

本文共 706 字,大约阅读时间需要 2 分钟。

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

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

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

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

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

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

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

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

 

2.什么是存储过程?

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

优点:

 

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

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

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

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

 

转载于:https://www.cnblogs.com/fzqm-lwz/p/10539398.html

你可能感兴趣的文章
ES6转换为ES5
查看>>
京东校招java笔试题_试卷: 京东2019校招笔试Java开发工程师笔试题(1-)
查看>>
java怎么删除创建的类_一个java创建,删除,构建Jenkins等功能的JenkinsUtil工具类...
查看>>
编程java梦想数_JAVA基础总结
查看>>
java初始化重排_JAVA并发环境下指令重排带来的问题
查看>>
java connection 共享_【java項目實戰】ThreadLocal封裝Connection,實現同一線程共享資源...
查看>>
java中锁的等级_深入浅出!对象级别锁 vs 类级别锁 – Java
查看>>
php 5.4 memcache,linux下php5.4添加memcache扩展
查看>>
php session作用,session的作用是什么
查看>>
php 两行数据合并,PHP如何实现统计数据合并
查看>>
java国外研究综述,国内外研究现状_毕业论文
查看>>
php执行事务,thinkPHP框架中执行事务的方法示例
查看>>
php 两个值比较大小写,php比较两个字符串(大小写敏感)的函数strcmp()
查看>>
java3d获取模型在xoy平面的投影,将3D世界点投影到新视图图像平面
查看>>
php 修改图片src,jq修改src图片地址 .attr is not a function
查看>>
sudo php 无法打开,从PHP / Apache,exec()或system()程序作为root用户:“ sudo:无法打开审核系统:权限被拒绝”...
查看>>
sql数据库java连接sqlserver2005数据库
查看>>
clientapivc api TCP&UDP—helloworld
查看>>
下划线的学习1
查看>>
在struts2.3.4.1中使用注解、反射、拦截器实现基于方法的权限控制
查看>>