首页 » 网站建设 » php中是什么技巧_PHP中相符的一些坑

php中是什么技巧_PHP中相符的一些坑

访客 2024-11-14 0

扫一扫用手机浏览

文章目录 [+]

例子

首先,看一下这段代码。
猜猜当作果会是什么

php中是什么技巧_PHP中相符的一些坑

<?phpvar_dump(md5('240610708') == md5('QNKCDZO'));var_dump(md5('aabg7XSs') == md5('aabC9RqS'));var_dump(sha1('aaroZmOk') == sha1('aaK1STfY'));var_dump(sha1('aaO8zKZF') == sha1('aa3OFF9m'));var_dump('0010e2' == '1e3');var_dump('0x1234Ab' == '1193131');var_dump('0xABCdef' == ' 0xABCdef');var_dump(0 == 'abcdefg');var_dump(1 == '1abcdef');?>

一眼看过,很明显肯定都是false吧,但运行代码后创造全是true!

php中是什么技巧_PHP中相符的一些坑
(图片来自网络侵删)

WTF!

为什么会这样?

开头我已经说过了,PHP 是弱类型的措辞。
利用==比拟两个变量时,当有一个变量为整数,其余一个变量也会转换为整数。
这也就阐明了,为什么0 == 'abcdefg'和1 == '1abcdef'会成立。

但是,其他的代码呢?字符串难道还会转换?

PHP 手册上为我们供应理解释解释。

If you compare a number with a string or the comparison involves numerical strings, then each string is converted to a number and the comparison performed numerically.

也便是说,如果你比较的两个字符串涉及到数字(如:\"大众0\"大众),那么每个字符串都会转换成数字。

在这里,我不得不说:PHP是最好的措辞!

危害

当我们的网站是直接MD5或Sha1加密而没有加盐,恰巧某用户密码加密涉及到数字,那么就有可能被碰撞破解!

办理

1.在开拓过程中尽可能避免利用==判断两个变量的值

2.密码加密最好利用password_hash()或者加盐md5($pwd.$salt)!

以上便是PHP中“==”的一些坑的详细内容,更多请关注其它干系文章!

更多技巧请《转发 + 关注》哦!

标签:

相关文章

PHP实现文字转图片的代码与应用

图片处理技术在各个领域得到了广泛应用。在PHP编程中,文字转图片功能同样具有很高的实用价值。本文将针对PHP实现文字转图片的代码进...

网站建设 2025-03-02 阅读1 评论0

NAN0017探索新型纳米材料的奥秘与应用

纳米技术作为一门新兴的交叉学科,近年来在材料科学、生物医学、电子工程等领域取得了举世瞩目的成果。其中,NAN0017作为一种新型纳...

网站建设 2025-03-02 阅读5 评论0

L26368XO代码其背后的创新与突破

编程语言在各个领域发挥着越来越重要的作用。在众多编程语言中,L26368XO代码以其独特的优势,成为了业界关注的焦点。本文将深入剖...

网站建设 2025-03-02 阅读1 评论0

HTML字体背景打造个化网页设计的关键元素

网页设计已经成为现代网络传播的重要手段。在众多网页设计元素中,字体和背景的搭配尤为关键。本文将从HTML字体背景设置的角度,探讨其...

网站建设 2025-03-02 阅读1 评论0