xdebug远程调试

开发环境:

  • Windows笔记本:日常开发使用机器,安装PHPStrom
  • Linux远程服务器:安装php-fpm/nginx等所有开发依赖环境,IP: 172.16.0.182
  • 【注意】,Windows通过vpn访问到Linux服务器,也就是说Windows->Linux是可以通过IP直接访问的,而Linux->Windows无法直接连通,因为对Linux而言,Windows开发机的IP只有VPN的网关地址
  • Windows和Linux之前通过PhpStorm的sftp进行代码同步

目标

  • 远程调试(remote debug):也就是在windows本地调试远程服务器(Linux)上的代码
  • 日常开发用Windows中在PhpStorm中设置断点,可调试远程Linux远程服务器(172.16.0.182)的代码

如何正确获取请求方的ip地址(How to get client ip correctly)

出于多种原因(记录client原始ip、定位、反作弊等), 都需要获取请求发起方的原始ip信息。
这里探讨两种方式:1. PHP纯手动获取,2. Laravel提供的getClientIp()函数

通过$_SERVER()或getenv()方式

方式1:通过x-forwarded-for头部
PHP中通过$_SERVER('HTTP_X_FORWARDED_FOR')获取http request请求头部的x-forwarded-for参数
以下为$_SERVER所有参数实例:

Lumem(一):入门介绍

Lumen是Laravel框架作者Taylor Otwell为无状态API微服务而专门基于Laravel开发的框架。
Lumen名字来源:Illuminate,这是Laravel中主要实现包。
使用Lumen,你可以做到:

  • Laravel各种优雅的用法
  • 专注后端、无状态Stateless、微服务micro-service
  • 性能比Laravel提升一倍
    相比Laravel,去除了下列包依赖,使得包依赖由53降到28。
  • Illuminate:console、cookie、exception、log、mail、redis、routing、session
  • Symfony:routing、translation、process、console、debug、finder
  • league:flysystem
  • Jeremeamia:superclosure

Python | 解析pcap文件分析HTTP Request/Response报文

1. 出发点

最近朋友做竞品分析,抓取数据时无法获取到竞品的列表数据,但可以获取其单条新闻的请求。
因此,考虑由程序用模拟手机滑屏操作提交请求(该部分由他人负责开发),将请求包tcpdump为.pcap文件,再交由我进行报文解析,获取新闻返回的数据。

2. 技术点

wireshark打开pcap文件分析,只有分析确认出报文的特征,才能后续进行程序解析、过滤出靶向报文和目标信息。

  • tcpdump 报文抓取
  • Wireshark 报文分析
  • Python scapy scapy_http 报文解析
  • Python requests 报文请求

Linux crontab 计划任务定期执行

crontab: 定时执行操作命令,每一个用户拥有自己的crontab,配置文件存在/var下面,不能被直接编辑。
crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
Linux下的任务调度分为两类,系统任务调度和用户任务调度。