PHP简单预防sql注入的方法


Posted in PHP onSeptember 27, 2016

本文实例讲述了PHP简单预防sql注入的方法。分享给大家供大家参考,具体如下:

出现sql注入一般都是因为语法不规范不严谨造成的,问题出现在sql语句上,而起决定性的是quote(')。如下:

$sql = "delete from table where id ='$id'" ;

正常提交的话就是删除一条数据,若id提交的是(1 ' or 1 #),那么sql语句就变成了

delete from table where id = '1'or 1 #';

这样的话就会把整个表给删掉,造成无法挽回的结果。

既然问题出现在quote上,那么只要将其转义即可(\')

php提供两个函数使用

addslashes($str)
//建议使用下面的,可以避免出现字符集问题
mysql_real_escape_string($str,$link)
//避免整型数据可能不被sql增加引号,强制在转换后的数据使用引号包裹
function($str){
  return "'".mysql_real_escape_string($str,$this->link)."'";
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP生成带有雪花背景的验证码
Oct 09 PHP
也谈截取首页新闻 - 范例
Oct 09 PHP
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
PHP多文件上传实例
Jul 09 PHP
PHP上传图片、删除图片简单实例
Nov 12 PHP
PHP实现的数独求解问题示例
Apr 18 PHP
PHP框架laravel的.env文件配置教程
Jun 07 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
php创建类并调用的实例方法
Sep 25 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 PHP
PHP数据对象PDO操作技巧小结
Sep 27 #PHP
PHP基于GD库的图像处理方法小结
Sep 27 #PHP
PHP文件上传操作实例详解
Sep 27 #PHP
PHP目录操作实例总结
Sep 27 #PHP
PHP文件操作实例总结
Sep 27 #PHP
PHP命名空间namespace用法实例分析
Sep 27 #PHP
PHP7标量类型declare用法实例分析
Sep 26 #PHP
You might like
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
jquery点击页面任何区域实现鼠标焦点十字效果
2013/06/21 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
2017/09/23 jQuery
JS返回顶部实例代码
2020/08/09 Javascript
浅谈在Vue-cli里基于axios封装复用请求
2017/11/06 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python验证文件是否可读写代码分享
2017/12/11 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
阿波罗盒子:Apollo Box
2017/08/14 全球购物
EJB3.1都有哪些改进
2012/11/17 面试题
资深地理教师自我评价
2013/09/21 职场文书
松材线虫病防治方案
2014/06/15 职场文书
请病假条范文
2015/08/17 职场文书