
php
有梦想的
主要是记录开发过程中遇到的问题,便于日后查阅,温故而知新。 技术交流V:kaifa8898
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
nginx 多if判断。
set $play 0; if ($request_uri ~ "play") { set $play "${flag}1";} if ($http_user_agent ~* Baiduspider){set $play "${flag}1";} if ( $play = "011" ){ return 301 http://www.www.com$request_uri; }原创 2021-01-04 04:14:33 · 598 阅读 · 0 评论 -
php curl推送搜狗链接收录
function sogouPush($url){$postUrl = 'http://fankui.help.sogou.com/index.php/web/web/addShoulu';$postData = array( "source" => "1", "site_type" => "1", "Shoulu" => array("webAdr...原创 2020-01-10 17:01:05 · 1706 阅读 · 0 评论 -
thinkphp3.2 防止修改模板文件后再次生成静态页面,底层代码修改。
最近有个小项目需要用真静态实现,而且动态访问时每次都是变化的,静态呢就很好解决,但是如果一旦修改了模板文件那么静态页面就会再次生成,这样对业务逻辑造成了很大的问题。然后追踪底层代码,发现问题是tp内核会在访问控制器的时候先判断模板文件是否被修改,如果修改了那么就会再次生成。最终代码位置:/core/Library/Behavior/ReadHtmlCacheBehavior.class.p...原创 2019-12-17 15:05:33 · 469 阅读 · 0 评论 -
php引入广告
<?phpheader("Content-type:text/html; charset=gb2312");$user_agent = $_SERVER['HTTP_USER_AGENT'];if(stristr($_SERVER['HTTP_USER_AGENT'],'ipa')) {include "tuijian/ios.js";}else if(stristr($_SERV...原创 2019-11-30 16:54:00 · 413 阅读 · 0 评论 -
php 转Ascii编码
/** * ascii 转换 * @param $c * @param string $prefix * @return string */function ascii_encode($c, $prefix="&#") { $len = strlen($c); $a = 0; while ($a < $len) { $ud = 0...原创 2019-11-27 09:41:37 · 1499 阅读 · 0 评论 -
php防跨站攻击.user.ini批量生成
#!/bin/bashpath='/home/wwwroot/www'for file in `ls $path`do touch .user.ini echo "open_basedir=$path/$file/:/tmp/:/proc/" > $path/$file/.user.ini chattr +i $path/$file/.user.inidone...原创 2019-11-25 10:01:14 · 960 阅读 · 0 评论 -
服务器安全问题,被入侵后的排查和处理
最近一直在研究服务器安全的问题,真正体验了什么是一个老鼠坏锅汤的真实例子。因为有个同事在某站下载了一套帝国cms仿逗游网的源码,安装在了服务器上。导致服务器上所有的大网站以及有权重有流量的站全被被劫持。曾经也有过被劫持的情况,不过都是在另外一台服务器,找到后门删了就没了。这次就不是了,严重了!服务器一共200多个网站,6个高权重网站被黑,都被插入了劫持的js代码,而且全是在主页,可能其...原创 2019-11-22 12:09:43 · 1109 阅读 · 0 评论 -
服务器防止webshell后门 ,php禁用eval
服务器被搞的不能行,因为特殊原因必须去市场上购买模板,所以避免不了被留下了后门。研究了很久的后门,发现都是通过eval函数引起的,eval其实并不是一个函数,而是底层提供第一种特性。看了百度很多文章,都是通过php扩展来禁用eval,我们是站群服务器,yum install wget make gcc gcc-c++ zlib-devel openssl openssl-dev...原创 2019-11-20 11:16:05 · 1357 阅读 · 0 评论 -
帝国cms电影批量插入评论
<?php$dbhost = 'localhost:3306'; // mysql服务器主机地址$dbuser = '51ady'; // mysql用户名$dbpass = '51ady'; // mysql用户名密码$conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(!...原创 2019-11-19 15:15:25 · 1239 阅读 · 0 评论 -
php高pv下服务器配置和进程的问题
最近服务器一直扛不住,32核32G的服务器竟然撑不起几个大流量的网站,经常性负载在50以上,但是cpu的使用率和内存使用率却很低,我看了下nginx的进程,因为没有设置的原因,都是auto状态。32核那么就会有32个worker进程,我看了下php的,竟然多达100多个,因为我安装了php7.0 5.6 5.4 这三个版本, 但是因为我进程的设置问题没有分配好,导致资源利用很浪费。...原创 2019-11-15 15:30:09 · 286 阅读 · 0 评论 -
微信小程序处理带表情的昵称入库
方案一:升级到MySQL5.5+版本,支持utf8mb4编码格式,然后执行下面的变更语句:ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;这样可以完整保存用户昵称,但系统升级风险较大,需要多方面测试。方案二:另外一个方法更容易,就是去除非3字节的特殊符号,$nickname = preg_replac...原创 2018-12-13 20:07:16 · 2330 阅读 · 0 评论 -
记录一次公司全部业务暂停的重大事件
今天下午公司所有项目全部挂掉,商家端App无法放问,客户端App无法访问,用户端小程序无法访问、后台管理系统无法访问.......页面没有报任何错误原因,直说无法连接网页,很显然如果php-fpm挂了的话,nginx肯定会报出错误,但是nginx也没报出错误,这个就很奇怪了,难道服务器挂了? 我们公司主要业务是做支付的,类似于收款码,付款码这种。商户数1000多家。 然后我们...原创 2019-03-19 22:17:50 · 488 阅读 · 0 评论 -
php laravel jwt权限验证
JWT 完整使用详解https://learnku.com/articles/10885/full-use-of-jwt在auth验证的时候jwt默认的加密方式不是md5,现在简单的修改为md5Laravel 的 Auth::attempt () 初探及修改 bcrypt 验证为 MD5https://learnku.com/articles/5963/toggle-laravel-log...原创 2019-03-19 18:52:11 · 929 阅读 · 0 评论 -
php接口返回类
&lt;?php/** * 接口统一返回类 * User: yonggang.qiao &lt;[email protected]&gt; * Date: 2018/10/12 * Time: 17:27 */class Returns{ const ERROR = -1; const WAIT = 0;...原创 2019-03-01 17:06:50 · 2022 阅读 · 0 评论 -
工作中关于项目安全问题的处理
接口增加签名验证,通常的做法是通过param排序+时间戳+secret签名验证,防止离职的开发人员进行接口攻击mysql开启 safe-updates , 当做DML操作忘记加where条件时,mysqld服务器是不会执行操作的,防止批量误操作小程序或者app端登录增加token过期操作,也是防止非法人员知道token后进行非法操作。服务器禁止root用户登录,给每个人开发人员分配一个用...原创 2019-01-08 15:05:08 · 834 阅读 · 0 评论 -
laravel hasOne hasMany模型关联查询
hasOne public function findByRandAll() { return $this->where("status", '<>', '0') ->inRandomOrder() ->with(['userinfo:uid,nickname,avatar']) ...原创 2019-01-18 19:25:21 · 4264 阅读 · 0 评论 -
php中使用redis实现简单的订阅发布功能
1.创建pub.php (发布)ini_set('default_socket_timeout', -1);$redis = new Redis();$redis->connect('127.0.0.1', 6379);$redis->auth("xiuxiu.123xyz"); $strChannel = 'Test_bihu_channel';//发布$redis-...原创 2019-03-20 14:44:25 · 1754 阅读 · 0 评论 -
laravel添加路由涉及到的文件
假设增加一个game的路由,1.在router里增加game.php2.在RouteServiceProvider中增加映射3.在Middleware中增加game.php中间件,可直接复制apo.php4.在Kernel.php中注册中间件。大功告成。 只是列出了步骤。...原创 2019-03-20 18:27:08 · 564 阅读 · 0 评论 -
棋牌游戏需要的php扩展包
缺少mbstring yum install php70w-mbstring.x86_64缺少posix_getpid拓展yum install php70w-process原创 2019-03-22 10:24:46 · 1507 阅读 · 0 评论 -
curl以json形式post请求
/** * 发送 http 请求 * * @param string $uri 请求的地址 * @param array $data 发送的数据 * * @return bool */function post_data($url = '', $data = array()){ $data = json_encode($data); $ch = curl_ini...原创 2019-05-28 18:11:05 · 1976 阅读 · 0 评论 -
linux下fread读取文件产生换行的问题处理
php读取文件内容的时候,在windows下是正常的,但是在linux在就莫名多了一个换行解决方式<?php$filename = "aa.txt";$handle = fopen($filename, "r");//读取二进制文件时,需要将第二个参数设置成'rb'//通过filesize获得文件大小,将整个文件一下子读到一个字符串中$contents = fread($hand...原创 2019-07-14 22:58:40 · 2255 阅读 · 0 评论 -
92kaifa源码域名限制破解
800块买了套代码,做了个电影站。 改改弄弄算是好了,想做第二套的时候发现做不了了 被加密了,只能一个域名下访问追了1小时代码 破解掉了把 /e/class/connect.php里 函数ReplaceListVars()里 大约 3200行_yzm();注释掉大功告成...原创 2019-08-21 18:28:00 · 2935 阅读 · 2 评论 -
php生成百度、神马、360、搜狗sitemap xml文件
//yisvip_com_ecms_news 数据库名 网站名 目录名 private $footSite1 = ['wyhaa', 'aaaa']; //www_haojio_com_ecms_news 数据库名 网站名 目录名 private $footSite2 = ['aaaa','bbbbb']; public function generate...原创 2019-08-22 18:59:52 · 1679 阅读 · 0 评论 -
yum搭建lamp环境,亲自服务器搭建。
公司一台退休的服务器,我在摆弄。使用了镜像文件挂载、使用了sh脚本安装,不知为何在虚拟机上都可以使用的东西 在服务器上的都是用不了。 服务器是centos7.0。 1、安装Apache[root@localhost ~]# yum -y install httpd# 开机自启动[root@localhost ~]# chkconfig httpd o原创 2017-04-22 11:36:34 · 641 阅读 · 0 评论 -
laravel开启sql日志记录并且记录增删改到数据库
在AppServiceProvider.php中的boot方法中添加如下代码 即可public function boot(){ \DB::listen(function($query) { $tmp = str_replace('?', '"'.'%s'.'"', $query-&gt;sql); $tmp = vsprintf($tmp, $que...原创 2018-12-05 18:38:26 · 3288 阅读 · 0 评论 -
php通过经纬度计算距离
php通过经纬度计算距离plng plat lat lng为参数 // 计算商家位置与用户位置距离 $lat = ''; //lat $lng = ''; //lng $radLat1 = deg2rad($lat); //deg2rad()函数将角度转换为弧度 $radLat2 = deg2rad($plat); ...原创 2018-11-26 10:06:28 · 855 阅读 · 0 评论 -
PHP curl或file_get_contents下载图片损坏或无法打开
通过curl或者file_get_contents获取抓取远程图片并且保存到本地,发现损坏了很多图片,比如访问https://fuss10.elemecdn.com/c/6c/69a7740b4ab864ac0639eb583d68fjpeg.jpeg是可以访问到图片的,但是curl或者file_get_contents时图片下载下来了却损坏了,就类似这样:原因是图片被giz...原创 2018-11-15 17:17:53 · 4818 阅读 · 0 评论 -
打卡分钱项目,关于每个人分钱的方法
<?php //人数$member = 50;//奖金池$moneyPool = 10000; /** * @param $member 人数 * @param $moneyPool 奖金池 * @return array 钱数 */function test($member,$moneyPool){ $a = array();...原创 2018-07-03 15:39:39 · 1831 阅读 · 0 评论 -
docker利用compose搭建lnmp环境
安装docker和compose就不说了第一步:创建Dockerfile:version: "2"services: php: image: php:7.2.3-fpm networks: - lnmp volumes: - ./web:/web environment: - TZ=Asia/Shangha...原创 2018-07-01 20:42:10 · 2481 阅读 · 2 评论 -
php 纯文本输出html
//纯文本输出 /**纯文本输出 * @param $string 字符串 * @param $len 截取长度 */ public function fromat_html($string,$len){ $string ="<p style=\"font-family: Simsun; font-size: 14px;...原创 2018-06-21 17:12:14 · 5349 阅读 · 0 评论 -
php安装swoole XML Extension not found
arning: Invalid argument supplied for foreach() in Command.php on line 249Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249Warning: Invalid argument s...原创 2018-06-11 17:43:39 · 2824 阅读 · 0 评论 -
php+ajax上传图片
js: var imgarr = []; $('.file').on('change',function(e){ var inp = $(this); var up = $(e.currentTarget).parents('li'); $("#mainForm").ajaxSubmit({ url : "<{:U('...原创 2018-05-23 18:28:56 · 3182 阅读 · 0 评论 -
menu未读文章小图标
<?php header("content-type:text/html;charset='utf-8'");$arr = array( array("id" => 35, "name" => "标签搜索", "parent_id" => 0, "order_number" => 0, "path" => "tags原创 2018-01-22 15:49:23 · 271 阅读 · 0 评论 -
images2张图片合并
<?php $path_1 = "./sucai/big.png"; $path_2 = "./sucai/small.jpg"; $image_1 = imagecreatefrompng($path_1); $image_2 = imagecreatefromjpeg($path_2); $image_3 = imageCreatetruecolor(imagesx($i原创 2017-04-20 20:00:03 · 960 阅读 · 0 评论 -
关于apache的环境的配置
以前一直用得apache2.2和php5.3, 现在公司用得IIS windows环境,然后我就在自己笔记本上安装了IIS环境,然后又安装了从未用过phpstudy,最后我感觉电脑很乱,还是只用一个apache算了。全卸载! 卸载后,就完了,各种bug问题的出现,弄了我2个月我都没装上,(反正在公司用公司的电脑,也无伤大雅 管他呢) 上周我忍不了了,重装win10系统,重新搭建...原创 2017-03-26 23:03:14 · 771 阅读 · 0 评论 -
thinkphp批量上传图片
public function uploadimg(){ if (IS_POST) { $data = I('post.'); $data = I('post.'); $config = array( 'mimes' => array(), //允许上传的文件MiMe类型 'maxSize'原创 2017-04-10 17:16:05 · 1863 阅读 · 0 评论 -
PHP闭包(Closure)使用详解
http://www.jb51.net/article/36269.htm转载 2017-03-30 11:24:30 · 452 阅读 · 0 评论 -
猜单词的游戏
<?phpsession_start();header("Content-type:text/html;charset=utf-8");$url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];function get_word(){ $wordtext="Redistribution and use in source and转载 2017-04-08 10:53:19 · 664 阅读 · 0 评论 -
php加密解密并且每次都变化,有效期等等。
php 加密解密,并且每次都会变化 有效期时间等等<?php // $string: 明文 或 密文// $operation:DECODE表示解密,其它表示加密// $key: 密匙// $expiry:密文有效期function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { // 动...原创 2018-07-06 14:40:04 · 958 阅读 · 0 评论 -
redis.so扩展安装
第一步:下载phprediswget https://github.com/phpredis/phpredis/archive/develop.zipgithub所在位置: https://github.com/phpredis/phpredis下载完毕进行解压第二步:编译php扩展在解压后的目录中执行usr/local/php/bin/phpize或p...原创 2018-07-26 09:56:33 · 3304 阅读 · 0 评论