php web不安全因素,php中==与===的使用不慎导致安全问题

发布时间:2024-12-20 05:14

安装热水器时,确保其稳固,避免因安装不稳导致的安全问题。 #生活常识# #家庭维修技巧# #热水器故障#

最新推荐文章于 2024-01-08 11:42:10 发布

科技怪人 于 2021-03-17 22:02:24 发布

php是一门动态类型的语言,他的变量的类型不需要我们显式的指出,他会自动选择合适的类型。所以在php中有两种相等比较符,==与===。 在使用==进行比较时,将会进行类型转换后的比较。当使用===将会先比较变量的类型,如果类型不一致,会直接被判定为不相等。

由此使用"=="会引入一些安全问题。

1. 数字转换

$user = "1.999999999999999999999999999999999999999999999999";

if ((int)$user == 1) {

$res = mysql_query("select * from test where id = '$user'");

while( ($row = mysql_fetch_assoc($res)) != null) {

var_dump($row);

}

} else {

echo "you are not admin";

}

将会输出:

array(2) {

["id"]=>

string(1) "2"

["username"]=>

string(12) "zeroplace.cn"

}

2. hash值比较

如果一个hash值是0exxxxxxxxxx,且x全部为数字时,php会将它认为是一个数字,如果这个数字与另一个值也为0的数字比较,将会相等。比如

var_dump("00e0345" == "0e33239382");

这个比较表达式将会输出

bool(true)

如果x不全为数字则不存在这个问题。

3. 序列化后,bool值欺骗

$user = unserialize('b:1;');

var_dump($user == "admin");

以上将会输出

bool(true)

网址:php web不安全因素,php中==与===的使用不慎导致安全问题 https://www.yuejiaxmz.com/news/view/523676

相关内容

PHP中的家庭智能安全管理系统开发指南
什么是php?php是什么?
使用PHP构建个性化健身指导平台的实践与挑战
【php毕业设计】基于php+mysql+apache的二手物品交易网站设计与实现(毕业论文+程序源码)——二手物品交易网站
用PHP中的 == 运算符进行字符串比较
yum安装php Requires: libzip5(x86
(2022版)零基础入门网络安全/Web安全,收藏这一篇就够了
关于在php.ini中添加extension=php
PHP中=>和
PHP+MySQL网络购物商城网站的设计与实现*(附源码 配置 文档)

随便看看