mz

thinkphp5自动生成文件

<?php return [ // 生成运行时目录 ‘__file__’ => [‘common.php’], ‘test’ => [ ‘__file__’ => [‘common.php’,’config.php’], ‘__dir__’ => [‘behavior’,’controller’,’service’,’logic’,’model’,’view’], ] […]

php编写rpc接口

说明: api接口:API(Application Programming Interface)应用程序编程接口,应用也包括网络应用程序,就像api文档基本上就是使用说明书,API接口可以简单理解成“应用程序使用接口”。 http接口:基于HTTP协议的开发接口.这个并不能排除没有使用其他的协议。 RPC接口:Remote Procedure Calls 远程过程调用 (RPC) 是一种协议,程序 […]

php获取用户ip

$user_IP = (@$_SERVER[“HTTP_VIA”]) ? $_SERVER[“HTTP_X_FORWARDED_FOR”] : $_SERVER[“REMOTE_ADDR”]; $user_IP = ($user_IP) ? $user_IP : $_SERVER[“REMOTE_ADDR”]; 说明: REMOTE_ADDR ##一定存在 为请求机器的ip地址 可能是用户的ip也 […]

ThinkPHP5远程命令执行漏洞POC

摘要 近日thinkphp团队发布了版本更新https://blog.thinkphp.cn/869075 ,其中修复了一处getshell漏洞。 影响范围 5.x < 5.1.31 <= 5.0.23 危害 远程代码执行 漏洞分析 以下漏洞分析源于斗鱼SRC公众号:斗鱼安全应急响应中心 分析补丁:802f284bec821a608e7543d91126abc5901b2815 路由信 […]

php 随机数

生成10000-99999随机数字: mt_rand(10000,99999);     //php提供的随机数为伪随机数(计算机只能生成伪随机数,php英文文档上有警告此随机数不要使用于token生成的操作) //伪随机是由可确定的函数(常用线性同余),通过一个种子(常用时钟),产生的伪随机数。 php随机数原理: 系统自动生成一个随机数种子(mt_srand函数可以自己生成种子),mt_ran […]

php 将数组按某个值排序

例子: $userInfo=$this->user->getInfoAll();  //获取用户所有信息 数据库返回格式: array( “1”=>[ “name” => “张三”, “age” => “18”, ], “1”=>[ “name” => “李四”, “age” => “24”, ], ) //但是有时我们需要用年龄排序 这时就可以使用 […]

php httper()

Content-Type: application/x-www-form-urlencoded; charset=utf-8 //普通请求头 enctype=”multipart/form-data” //表单上传文件头 Content-type: application/json //json头 Content-Type:tset/html; charset=utf8; //文本头   […]

php接收跨域头

header(“Access-Control-Allow-Origin: *”); header(“Access-Control-Allow-Credentials : true”); header(“Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Connection, User-Agen […]

php生成日志

/** * $src=文件路径 * $data=要写入的数据 * $time=true中国时间 */ function mzLog($src,$data,$time=0){ //写入日志 if($time){ date_default_timezone_set(“Asia/Shanghai”); //返回中国时间戳 } $myfile = fopen($src, “a”) or die(“Unab […]

php yield

function test(){ for($i=0;$i<=10;$i++){ yield ‘key:’=>’vue=’.$i; //yield就好像加强版return //只能在函数内使用,返回后会记住这个状态,下次会从断点继续执行 } } foreach(test() as $k=>$v){ print_r($k); print_r($v); echo “<br /&g […]