md5/sha1+salt方式是目前各大cms常用的加密方式,虽然salt安全,但是各大md5网站也在研究这个方向,那么我们应该选择password_hash动态hash来助力,一种密码有多种hash结果.看代码模拟登陆.
<?php //01.注册 $user ='zhangsan'; $pass = '123456'; $hash = password_hash($pass, PASSWORD_DEFAULT); //02.保存用户名和生成的随机hash到数据库,省略代码 //03.用户尝试用原来的密码登录 $pass = '123456'; if (password_verify($pass,$hash)) { echo "登录成功!"; } else { echo "登录失败!"; } //04.用户尝试用错误的密码登录 $pass = '654321'; if (password_verify($pass,$hash)) { echo "登录成功!"; } else { echo "登录失败!"; } ?>
password_hash()创建的哈希密码更加安全,但是无法使用其他语言来验证
function objtoarr($obj){ $ret = array(); foreach($obj as $key =>$value){ if(gettype($value) == 'arr...
应用场景:PHP模拟购买,商品数量大于0才能购买常见代码:<?php //连接数据库 $con=mysqli_connect("localhost","ihuohuo","927464cy","ihuohuo");...
php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。下面提供一个方法获取/* * 获取当前PHP文件名称 */ if (!function_exists('phpself...
php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...
项目中使用服务来执行webservice,由于对方系统api不稳定,经常导致服务崩溃,只能重启,一个月差不多要重启一次。初期的解决办法是捕获异常,然后continue掉。<?php try { $url = 'http...