php防止sql注入简单分析


Posted in PHP onMarch 18, 2015

本文实例分析了php防止sql注入简单方法。分享给大家供大家参考。具体如下:

这里只说一个简单的方法

防止Sql注入的方法有很多,这里要说的其实就是漏洞演练平台Dvwa里的一种方式

直接看high级别的就可以了

$id = $_GET['id']; 
$id = stripslashes($id); 
$id = mysql_real_escape_string($id); 
if (is_numeric($id)){
$getid = "SELECT first_name,last_name FROM users WHERE user_id='$id'";
$result = mysql_query($getid) or die('<pre>'.mysql_error().'</pre>');
$num = mysql_numrows($result);

可见它的处理方式是首先通过 stripslashes 函数删除变量中的反斜杠 \,
然后再使用函数mysql_real_escape_string 转义特殊字符就行了。
所以当我们编写类似代码的时候

$getid="SELECT first_name,last_name FROM users WHERE user_id='$id'";

我们最简单的方法是

直接将变量$id 进行stripslashes 和 mysql_real_escape_string 处理。

注意: 这里并不是说这样就安全了, 这只是其中一种方式我可没说这就安全了。 更多的还要依据实际情况进行处理。

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

PHP 相关文章推荐
PHP在特殊字符前加斜杠的实现代码
Jul 17 PHP
php设置编码格式的方法
Mar 05 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
Jul 02 PHP
ini_set的用法介绍
Jan 07 PHP
给ECShop添加最新评论
Jan 07 PHP
ThinkPHP3.2.2的插件控制器功能
Mar 05 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
PHP读取word文档的方法分析【基于COM组件】
Aug 01 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
PHP yield关键字功能与用法分析
Jan 03 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 PHP
php随机生成数字字母组合的方法
Mar 18 #PHP
php中ob_flush函数和flush函数用法分析
Mar 18 #PHP
php通过function_exists检测函数是否存在的方法
Mar 18 #PHP
php通过rmdir删除目录的简单用法
Mar 18 #PHP
php去除字符串中空字符的常用方法小结
Mar 17 #PHP
php实现指定字符串中查找子字符串的方法
Mar 17 #PHP
php通过strpos查找字符串出现位置的方法
Mar 17 #PHP
You might like
PHP session会话的安全性分析
2011/09/08 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
Date对象格式化函数代码
2010/07/17 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
node后端服务保活的实现
2019/11/10 Javascript
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
C#实现启动一个进程
2016/10/01 面试题
中国梦演讲稿5分钟
2014/08/19 职场文书
模范教师材料大全
2014/12/16 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
Win11 Build 21996.1 Dev版怎么样? win11系统截图欣赏
2021/11/21 数码科技