WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 2521查看
  • 1回复

主题

好友

2712

积分

禁止访问

发表于 2010-2-7 10:07:22 |显示全部楼层
php中单引号括起来的直接当做字符串来执行  

双引号括起来的先经过编译器执行后在输出  

实例  

PHP代码  
<?php      
$test1="aaa";      
$test2="bbb";      
echo ’$test1’;//单引号      
echo "<br>"     
echo "$test2";//双引号      
?>      
输出结果为      
$test1     
bbb     

所以在有的sql语句中  

select * from aa where username=’"$_GET[’username’]"’ and ....  

$_GET全局数组传过来的值要用双引号括起来,然后在外面要用单引号括起,因为是字符串  

对于数字型的  

select * from aa where username="$_GET[’userid]" and ....  

userid假设为数字型,所以$_GET传过来的值可以不加单引号,但是这里就出现了注入的危险  

可以构造sql语句执行危险命令,所以一般数字型的为了防注入也都用单引号括起来  

自己的小结

主题

好友

6

积分

禁止访问

发表于 2010-5-15 11:44:45 |显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-4-29 10:09 , Processed in 0.061655 second(s), 17 queries .

返回顶部