php 万能密码,万能用户名和万能密码

万能用户名

any’ union select * from user – (后面有个注释符)

联合查询,是查询的结果大于1,为真

万能用户名防御

PDO

$username=$REQUEST['usernm'];

$password=$_REQUEST['passwd'];

$pdo=new PDO("mssql:host=127.0.0.1;dbname=users","sa","root");

$sql="select * from users where username=? and password=?";

$statment=$pdo->prepare($sql);

$statment->execute(array($username,$password));

$res=$statment->fetch();

if(!empty($res)){

header("location:success.php");

}

else{

header("location:failure.php");

}

解释:

给PDO这个类赋值,赋给pdo这个对象

sql数据库中的查询语句赋值给$sql

pdo这个对象使用方法prepare() 给sql语句固定一个模式

为 prepare 方法准备要执行的SQL语句,SQL语句可以包含零个或多个命名(:name)或问号(?)参数标记,参数在SQL执行时会被替换。

你不能在 SQL 语句中同时包含命名(:name)或问号(?)参数标记,只能选择其中一种风格。

预处理 SQL 语句中的参数在使prepare方法时会传递真实的参数。

通过execute将数组array输入

执行准备查询–execute()方法

execute()方法负责执行准备好的查询

该方法需要有每次迭代执行中替换输入的参数。可以通过两种方法实现:作为数组将值传递给方法

Statment->来获取结果

empty()函数是用来测试变量是否已经配置。

若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。

所以,当字符串的值为0时,也返回true,就是执行empty内部的语句。这就是陷阱。

如: 假设 v a l u e = 0 ; 则 e m p t y ( value = 0; 则empty(value=0;则empty(value)=false。

千万注意使用empty()函数。

判断字符串是否为空,可以这么判断: if ($value=="") …

* 格式:bool empty ( mixed var )

* 功能:检查一个变量是否为空

* 返回值:

* 若变量不存在则返回 TRUE

* 若变量存在且其值为""、0、“0”、NULL、、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 TURE

* 若变量存在且值不为""、0、“0”、NULL、、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 FALSE

* 版本:PHP 3, PHP 4, PHP 5

万能密码

any’ or 1='1

万能密码防护代码

");}

mysql_select_db("mysql",$conn) or exit("DB shibai");

$sql="select password from user where user='$username'";

$res=mysql_query($sql,$conn) or exit ("DB shibai");

if($obj=mysql_fetch_object($res)){

if($obj->password==$password){

echo("chenggong");

}

else{

echo("mimabugui");

}

}else{

echo("yonghuimingbnudui");}

?>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值