codecamp

基础篇

问:如何防止sql注入?如何实现sql注入?常见的sql注入有哪些?

是什么:
通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。


如何防止:
服务器端可将服务器配置错误显示关闭,如php.ini中的display_errors设置为off。
针对数据进行检测、过滤和验证。如php的addslashes()函数对用户数据进行过滤,用户数据尽量使用post提交方式,减少get提交。
使用预编译绑定变量的SQL语句。
做好数据库帐号权限管理。
严格加密处理用户的机密信息。


常见示例:
1.用户登录。select * from user where name = 'xx' or 1=1;此时sql语句中的where条件有两个,当第一个不成立是则会执行第二个,两则只要一个返回真即可。


参考资料:
http://blog.jobbole.com/105586/
https://www.zhihu.com/question/22953267
mysql
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

PHP面试题

基础试题

中级试题

高级试题

JavaScript面试题

网络相关

http

redis

memcache

无标题目录

常见安全

mysql

基础试题

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }