开发者社区> 余二五> 正文

PHP程序中的sql语句防止POST数据注入问题

简介:
+关注继续查看

<?php
/*
本实例模仿用户登录时查询数据库的场景

$sql="select * from user where username={$_POST['username']} and userpass=".md5($_POST['userpass']);

mysql_real_escape_string($unescaped_string) 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集
本函数将 unescaped_string 中的特殊字符转义,并计及连接的当前字符集,因此可以安全用于 mysql_query()。 

sprintf() 函数把格式化的字符串写入一个变量中。

sprintf(format,arg1,arg2,arg++)
参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:

   %% - 返回百分比符号
   %b - 二进制数
   %c - 依照 ASCII 值的字符
   %d - 带符号十进制数
   %e - 可续计数法(比如 1.5e+3)
   %u - 无符号十进制数
   %f - 浮点数(local settings aware)
   %F - 浮点数(not local settings aware)
   %o - 八进制数
   %s - 字符串
   %x - 十六进制数(小写字母)
   %X - 十六进制数(大写字母)
*/



$sql="select * from user where username=".mysql_real_escape_string($_POST['username'])." and userpass=".md5(mysql_real_escape_string($_POST['userpass']));


$sql=sprintf("select * from user where username='%s' and userpass='%s'",mysql_real_escape_string($_POST['username']),md5(mysql_real_escape_string($_POST['userpass']));


?>










本文转自 hgditren 51CTO博客,原文链接:http://blog.51cto.com/phpme/1391300,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
快速搭建微信小程序可以访问的PHP后台数据,phpstorm运行本地PHP后台项目
快速搭建微信小程序可以访问的PHP后台数据,phpstorm运行本地PHP后台项目
25 0
PHP:Laravel cast array json数据存数据库时unicode 编码问题和update更新不触发数据转换
PHP:Laravel cast array json数据存数据库时unicode 编码问题和update更新不触发数据转换
18 0
PHP中的复合类型数据是什么意思?底层原理是什么?
PHP中的复合类型数据是什么意思?底层原理是什么?
30 0
PHP 中的标量类型数据是什么意思?底层原理是什么?
PHP 中的标量类型数据是什么意思?底层原理是什么?
46 0
为什么PHP的MD5可以将任意长度的数据映射为固定长度的哈希值?底层原理是什么?
为什么PHP的MD5可以将任意长度的数据映射为固定长度的哈希值?底层原理是什么?
76 0
PHP传递给js的JSON数据无法反序列化
PHP传递给js的JSON数据无法反序列化
38 0
PHP传递给js的JSON数据无法反序列化
PHP传递给js的JSON数据无法反序列化
52 0
php验证数据:手机号,身份证,邮箱,防注入
php验证数据:手机号,身份证,邮箱,防注入
30 0
php计算两个日期之间的间隔,避免导出大量数据
在做系统业务功能的时候,有的时候业务人员会进行超大范围地导出excel表格,导致内存、CPU占用飙升。 这对于系统的平滑运行不太友好,应该进行导出任务排队、限制范围等操作来控制频率、资源使用率。
39 0
php一次性大量数据入库解决方法
php一次性大量数据入库解决方法
30 0
+关注
余二五
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
PHP 2017.北京 全球开发者大会——高可用的PHP
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多