首页 » SEO优化 » PHP中的什么意思技巧_PHP中相符的一些坑

PHP中的什么意思技巧_PHP中相符的一些坑

访客 2024-10-29 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中“==”的一些坑的详细内容,更多请关注其它干系文章!

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

标签:

相关文章

大数据时代,共享数据的魅力与挑战

随着互联网技术的飞速发展,大数据已成为当今社会的重要资源。大数据以其庞大的数据规模、快速的数据增长速度和多样的数据类型,成为各行各...

SEO优化 2024-12-16 阅读0 评论0

大数据时代,挖掘数据背后的价值与机遇

随着互联网技术的飞速发展,大数据已经成为现代社会的重要资源。大数据不仅为人们的生活带来了便利,也为各行各业带来了前所未有的机遇。本...

SEO优化 2024-12-16 阅读0 评论0

大数据时代,探索无限可能,引领未来趋势

随着互联网的飞速发展,大数据已经成为当今世界的重要资源。我国政府高度重视大数据产业的发展,将其视为推动经济社会高质量发展的重要引擎...

SEO优化 2024-12-16 阅读0 评论0

大数据时代,数据贴边,引领未来

随着互联网的普及和科技的飞速发展,大数据已经渗透到我们生活的方方面面。在这个信息爆炸的时代,如何从海量数据中提取有价值的信息,成为...

SEO优化 2024-12-16 阅读0 评论0