PHP之PHPExcel
PHPExcel是一款非常强大的PHP操作EXCEL库,使用PHPExcel可以帮助我们简单、高效实现从Excel读取Excel的数据和导出数据到Excel。
操作:
include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
//或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的
创建一个excel
$objPHPExcel = ...
PHP学习记录18(PHP伪协议)
PHP伪协议其实就是支持的协议和封装协议。
PHP伪协议事实上就是支持的协议与封装协议(12种)
PHP 带有很多内置 URL 风格的封装协议, 除了这些封装协议,还能通过 stream_wrapper_register() 来注册自定义的封装协议。
要成功应用伪协议需要php.ini文件的allow_url_fopen 默认开启
...
PHP代码篇(九)PHP接口开发如何使用JWT进行验证身份
前言
事情是这样的,在我进入目前公司的时候。因为公司是一家创业公司,所以在我进去的时候,里面的开发配置就是web前端,ui设计,加我PHP后台各一个。接手的是一个公益小程序,业务倒是不怎么复杂,负责人说这个项目是之前委托外包公司开发的,用的是uniapp开发的小程序,基于ThinkPHP6.0做的接口开发,和一个Ca ...
PHP特性总结
PHP特性总结
来源: Tajang的大千世界
1、数组绕过正则表达式
if(preg_match("/[0-9]/", $num)){
die("no no no!");
}
else(intval($num)){
echo $flag;
}
preg_match第二个参数要求是字符串,如果传入数组则不会进入if语句
payload:num[]=1
2、intval函数的使用
intval( mixed $value, int $bas ...
ctf-web:PHP伪协议
文件包含漏洞
为了更好地使用代码的重用性,可以使用文件包含函数将文件包含进来,直接使用文件中的代码来提高重用性。但是这也产生了文件包含漏洞,产生原因是在通过 PHP 的函数引入文件时,为了灵活包含文件会将被包含文件设置为变量,通过动态变量来引入需要包含的文件。此时用户可以对变量的值可控,而服务器端未对变量 ...
php简介
简介PHP (超文本预处理器)原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。自20世纪90年代国内互联网开始发展到现在,互联网信息几乎覆盖了我们日常活动所有知识范畴,并逐渐成为我们生活、学习、工作中必不可少的一部分。据统计,从2003 年开始,我国的网页规模基本保持 ...
PHP 单页面在线聊天
使用PHP做的单页面在线聊天。
基本功能:
1. 多人聊天2. 多房间3. 传输信息加密,基于base64+字符替换实现4. 基于长连接读取(ngnix使用PHP sleep有问题)5. 支持昵称自定义,并使用浏览器保存。6. 需要在程序目录创建chat_data文件夹,用来存储历史聊天数据(仅保留最近1分钟)
原代码如下:
<?php
// 系统入口
date_defa ...
✔PHP文件包含漏洞全面总结
我的另一篇博客总结的不够全面,但依然有借鉴价值:https://www.cnblogs.com/Zeker62/p/15192610.html
目录文件包含的定义文件包含漏洞常见函数文件包含漏洞示例代码分析无限制本地文件包含漏洞定义以及代码实现常见的敏感信息路径Windows下常见敏感文件Linux下常见敏感文件漏洞利用无限制本地文件包含漏洞示例代码读取文件 ...
自己实现一个简单的php路由器
自己实现一个简单的php路由器
路由器的作用是根据客户端发送过来的请求连接,执行相应的操作,然后返回给客户端一个结果。
下面使用php一步步地实现一个简单的路由器,加深理解。
准备工作
在服务器上配置好php的运行环境,然后通过浏览器访问服务器上的php文件,就可以得到该php文件的执行结果。
在平常工作中请求的后端接 ...
CentOS7安装PHP
1、下载php wget https://www.php.net/distributions/php-7.4.22.tar.gz 这里下载的是7.4.22,其他版本官网下载
2、解压 tar -zvxf php-7.4.22.tar.gz
3、进入目录 cd php-7.4.22
4、进行预编译 ./configure --prefix=/home/php --enable-fpm
后面编译携带参数 ...
Java & PHP 3DES 互通加密、解密
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。
3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。
数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥 ...
布隆过滤器 php实现
1.抛砖引玉
有些项目中,缓存可能是这样设计的:
前端用户查询数据时:
先去缓存或nosql(redis mongodb等)里面查。如果能找到,就直接把数据返回给用户。
如果缓存里面也没有(缓存没命中),才去数据库中查找。
上面这个设计的目的,是为了用缓存给mysql降低访问压力。
缓存命中率越高, 需要查询mysql的可能性就越小 ...
PHP md5 相等绕过
1 "oe" 绕过
1.1 原理
根据这篇文章[1],
因为处理hash字符串时,PHP会将每一个以 0E开头的哈希值解释为0,那么只要传入的不同字符串经过哈希以后是以 0E开头的,那么PHP会认为它们相同
基本的原理是这样的,但更严谨的字符串格式是,0e 开头,同时后面都是数字,不能包含其他字符的字符串,md5 值才会相等(== 的结果为 ...
PHP实现RabbitMQ
介绍
RabbitMQ是一个在AMQP基础上实现的企业级消息系统。何谓消息系统,就是消息队列系统,消息队列是“”消费-生产者模型“”的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。
在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步操作,而这种异步处理的方式大大的 ...
如何用PHP写接口
对于php的入学者来说,很少接触api,因此对于如何写不知所措,其实开发API 比开发WEB 更简洁,但可能逻辑更复杂,因为API 其实就是数据输出,不用呈现页面,所以也就不存在MVC(API 只有M 和C),和WEB 开发一样,首先需要一些相关的参数,这些参数,都会由客户端传过来,也许是GET也许是POST,这个需要开发团队相互之 ...
php操作sqlite3
距离上次接触sqlite3已经快一年了,去年这篇文章讲跟着菜鸟教程学python操作sqlite3,https://www.cnblogs.com/lizhaoyao/p/13717381.html
现在回头看看,在php的环境下用sqlite3也是小项目值得选择的。
老生常谈的安装
install sqlite3 php扩展以及GUI工具
sudo apt-get install sqlite3
sudo apt-get install php7.4-sql ...
小说网站源码+PHP小说网站源码搭建教程
PHP小说网站源码采用ThinkPHP+MySQL+Ajax技术开发,该源码内存占用资源少且运行速度快,是一个轻量级小说网站资源管理系统,可以批量定向采集自定义网站数据,以便迅速搭建起一个海量级的小说站点,是目前市面上运用最广泛且灵活易用的小说网站源码。
源码:xsymz.icu
该小说网站源码不是单纯的内容采集, ...
PHP反序列化
1.什么是php序列号和反序列化
在开发的过程中常常遇到需要把对象或者数组进行序列号存储,反序列化输出的情况。特别是当需要把数组存储到mysql数据库中时,我们时常需要将数组进行序列化操作。
php序列化(serialize):是将变量转换为可保存或传输的字符串的过程
php反序列化(unserialize):就是在适当的时候把这个 ...
基于官方php:7.2.34-fpm-alpine镜像构建生产可用镜像
1 了解官方php镜像
Dockerhub 上 PHP 官方基础镜像主要分为三个分支:
cli: 没有开启 CGI 也就是说不能运行fpm。只可以运行命令行。
fpm: 开启了CGI,可以用来运行web服务也可以用来运行cli命令。
zts: 开启了线程安全的版本。
选择什么分支的镜像?
一般在生成环境会使用到 php-fpm。先了解一下什么是php-fpm?
...
关于PHPStudy中使用AddType application/x-httpd-php该Apache的设置命令无效的问题
写在前面的话(随便说两句,与文章主要内容无关)
前几天遇到一个CTF题目(这个->BUUCTF (buuoj.cn)),对着WP(Orz太菜了不会写)解题的时候发现写进去的一句话的PHP码全部不作为PHP文件解析,当时就懵逼了,还能这样?都是.php后缀的文件了还可以不当PHP解析?
后来摸索了一番发现,题目中目录下除了index.php其余的文件均不能 ...