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()创建的哈希密码更加安全,但是无法使用其他语言来验证
ThinkPHP3.2.3整合PHPExcelThinkPHP整合PHPEXCEL的详细做法:第一步:下载PHPEXCEL文件(这个可以百度下载)第二步:解压这个文件,把这里全部的文件复制到 ThinkPHP/Library/Org/Util这个文件夹下面(如图所示), 并把 PHPExc...
<?php //高先生简单验证码. //随机数 //为什么循环0-15的数字 //因为要实现最简单的字母和数字混搭 //16进制0-9 a-f //dechex 十进制转换为16进制 //创建一个四位的验证码. //$nmsg.  ...
项目需要使用websocket推送最新订单,客户服务器非linux不支持swoole,因此使用原生,直接上代码(1).PHP服务端<?php ini_set('error_reporting', E_ALL ^ E_NOTICE); ini_set...
第一步:服务端文件<?php $wsdlfile='webservice.wsdl'; ini_set('soap.wsdl_cache_enabled','0'); //关闭WSDL缓存 //001...
001源码:/* * $xml_str是xml字符串 */ function xmltoarray($xml_str) { //禁止XML实体扩展攻击 libxml_disable_entity_loader(true); //拒绝包含...
主要原理是通过PHP创建多个子进程,在子进程中发送进程闹钟信号,然后再监听闹钟信号中继续发送闹钟信号。同时通过父进程设置非阻塞运行。代码如下:<?php /** * 订单任务 */ class Order { &n...