包含关键字 PHP 的文章

为什么要使用Wine

因为我打算使用网易云音乐,但是他的Linux客户端已经没人维护里,Debain12无法安装也无法启动。隔壁QQ音乐是可安装但是和提供的Appimage一样打开就闪退。
暂时还不能完全离开这些专有服务,只能去用wine了。

开始安装

有个惊喜,不知道是不是维护者看到了我发的帖子,总之Wine官网的下载安装页面更新了,简中Wiki的万年遗留错误也修了。

现在官方文档很清楚,我不再重复。
参见:Debian-Ubuntu安装 WineHQ 安装包

解决证书问题

有的人会卡在第二步:


xfox@JiaoLoong5-76s:~$  sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
--2024-09-15 00:21:18--  https://dl.winehq.org/wine-builds/winehq.key
正在解析主机 dl.winehq.org (dl.winehq.org)... 2a04:4e42:8c::729, 146.75.114.217
正在连接 dl.winehq.org (dl.winehq.org)|2a04:4e42:8c::729|:443... 已连接。错误: “dl.winehq.org” 的证书不可信。

如果你去搜索,恐怕很容易找到这样的内容: 使用--no-check-certificate参数 ,特别是*SDN的垃圾帖子。
但是,这是非常危险且不被推荐的!这意味着你和服务器的通信可能不知不觉的受到中间人篡改。

手动信任证书

浏览器打开https://dl.winehq.org/ 在证书详情页面选择导出,接下来

sudo cp _.winehq.pem /usr/local/share/ca-certificates/winehq.crt
sudo update-ca-certificates
Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.

然后继续执行即可。

额外的

证书验证失败也可能是你的本地设备时间偏差过大导致的。
timedatectl #查看当前时间处于什么状态,是否偏差过大 ,Windows+Linux双系统易出此问题
sudo apt update
sudo apt install systemd-timesyncd
sudo systemctl enable systemd-timesyncd
sudo systemctl start systemd-timesyncd
sudo systemctl status systemd-timesyncd
sudo timedatectl set-local-rtc 0 #设置本地时间为UTC时间
timedatectl #检查时间

最近做作业为了方便交就上传到博客服务器,结果发现了这个限制。

参考文章:typecho上传文件大小限制的修改

我的博客架构是基于Debian12 运行 php7.4 Nginx mariaDB ,因此对上传文件的限制在php-fpm和Nginx上
顺便吐槽以下本校垃圾校园网,SSH都连不上我的服务器,还得我自己开流量,纯纯的垄断资本垃圾服务。

- 阅读剩余部分 -

为什么使用Podman而不是Docker?尽管Docker-CE是免费的,但是Docker属于商业公司的产品,而Podman是由社区驱动的自由软件。Podman近乎完全兼容Docker的CLI和标准Docker容器生态,对于我没有学习成本亦不造成生态割裂。此外Podman与Cockpit可通过插件完美集成,大大提高了可视化管理效率。

什么是Moments?

Moments是一个 C# 开发的博客朋友圈平台。

Moments 为你提供了一个全新的方式来与你关注的博客作者和读者互动,让你的博客体验更加丰富和充实。
我们核心目标是通过整合各种订阅源,如 RSS 和 Atom,将你感兴趣的博客转化为一个个人朋友圈。你可以订阅来自世界各地的博客,并实时获取他们的最新动态。无论是热门博客、专业博主,还是你最喜爱的作者,你都可以通过 Moments 获得他们的最新博文、评论和互动。

安装Podman

参见Podman Installation Instructions
sudo apt install podman
你可能需要对Podman进行简单的配置,参见:必要的配置

- 阅读剩余部分 -

昨晚无意间发现的,睡前随手打开博客结果转圈然后Connect Rest/Closed,刚开始以为服务器被墙了,就顺手打开笔记本看了一眼。

开始看乐子

Ping了一下域名,正常响应了,看来没被墙,SSH服务正常登录上去Htop看了一眼,CPU占用100%,RAM倒是没什么影响。 刚开始也没在意,只当是出了点bug抽风一下,直接重启。
重启后刚开始还能打开页面,过了几秒又是Connection Rest/Closed,htop命令上php-fpm占用居高不下,想了想可能是被攻击了,稍微上点心开始看日志。
cat /var/log/nginx/access.log
日志一直刷不完,那就
tail -f /var/log/nginx/access.log
看了下,刷不完是因为后面访问记录一直在高频刷写。
这里随意摘出来一部分:

35.197.121.158 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=ce167aaf-483f-4887-b710-4fa822ef5e34&param1=4GDzirKVEe&param2=gA6vVX8eaw&timestamp=1691601014 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0"
198.23.254.212 - - [10/Aug/2023:01:10:23 +0800] "GET /api/p/index.php HTTP/1.0" 404 153 "-" "-"
35.197.71.216 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=7fb35c3b-a136-4223-b68a-8317ee501a07&param1=7RvcaEVkej&param2=gnVzSYROZ3&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10"
34.66.111.163 - - [10/Aug/2023:01:10:23 +0800] "GET /?nonce=b3f2bfc1-de55-4c22-a701-7f68052dc544&param1=vrkJ5thvM7&param2=fgIC6O2tJz&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; Android 5.0.1; ALE-L23) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36"
198.23.254.212 - - [10/Aug/2023:01:10:24 +0800] "GET /api/p/index.php HTTP/1.0" 404 153 "-" "-"
34.66.111.163 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=d4aa11be-98fa-4750-a0eb-5d0dc5776086&param1=QtOZIkFllL&param2=QSGsDtkQ0d&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B436 Safari/600.1.4"
35.197.121.158 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=426e4139-08f4-4f34-a37f-b71370953631&param1=IeNOGHrPqK&param2=rdtWgqRdps&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
35.197.71.216 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=0a8da378-ece3-49ee-9ec2-2236e2757c50&param1=xjEtLEFZAf&param2=fNBFJMmWv2&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.33 Safari/537.31 SmartTV/5.0"
34.66.111.163 - - [10/Aug/2023:01:10:24 +0800] "GET /?nonce=5418aacd-821e-4d70-8fe8-979ee757d923&param1=SRCtiYzr7m&param2=bg3Ce86SOK&timestamp=1691601015 HTTP/2.0" 200 10389 "-" "Mozilla/5.0 (Linux; Android 7.0; SM-G610M Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/191.0.0.35.96;]"

稍作分析

198.23.254.212是服务器自己发出的正常请求,不过这个api我貌似早就弃用了,后续去看看主题文件是不是没删掉。
其他ip随机抓下来查了下都是美国谷歌的机房IP。UA估计也没啥真实性,都是随机出来的垃圾数据。
之前也有找朋友DDoS帮我测压,国内服务器1TB下去没买防御套餐直接就黑洞了,不过我这个国外的VPS就没那么脆弱了,目前从头到尾除了博客打不开其他服务都正常运行,因为这个服务器带宽不小亦不是按流量计费,上面也没需要100%全天运行的东西,之前就没怎么关心防DDoS/CC。

第一次遇到还是挺新奇的,群友的博客服务器之前也有遇到过访问日志一直刷的。当晚也没什么事情就在B站开了个直播和网友一起看日志刷屏,顺便一起聊聊天。有个粉丝说关注我第一次看见我开播哈哈,正好赶上当作活素材了。

睡觉之前,给NAS装上了OBS,然后在Nas上继续串流直播。
今天睡醒把这事都忘了,刚才爬起来上去看nas命令行已经停掉了,直播间有粉丝留言说攻击已经停了可以正常访问了。
报错是:client_loop: send disconnect: Broken pipe
然后看了看中断之前日志上最后一个访问的异常ip是35.197.121.158,
http访问过去,页面就一个ヾ(*ФωФ)βyё βyё☆彡,又试了试另一个ip,也是一样。

乐子结束

不知道是哪家的小孩打着玩的,本来当天晚上打算看看有没有什么防火墙工具可以处理一下,但是这点流量又没什么技术性也就没什么实质性威胁我就懒得管了,挂着直播给网友娱乐,我直接睡觉去。

由于技术能力有限,迁移时处理伪静态重写规则存在偏差,未能做到平滑过渡。
故经过接近6个小时的折腾才解决问题,当前博客运行于CC机房的服务器上。
PS: 我把我的家庭服务器(J3160)顺道重装Debian12了,因为之前搞的比较乱,简单备份了下关键配置就重装了。

敬告各位博友

由于全球DNS广播存在延迟,当前部分同步速度较慢的DNS服务器对主域名xfox.fun的记录还停留在旧的中国大陆境内的IP,为了避免造成误解,原服务器站点已设置强制跳转到本页面。
SSL证书等休息够再上。

- 阅读剩余部分 -

我真的很高兴Typecho社区在过去数年长期停止发布正式更新之后依然保持着极高的活跃度,原开发者也腾出手来加入了开发进程,现在一切正在步入正轨。

安全方面

1.这个更新修复了多个XSS漏洞。(包括我之前遇到的评论者信息框的mail和URL的两个XXS以及后台的一个XXS)

其他主要惊喜总结

1.对PHP8的更多支持
2.添加admin/footer.php开始插件的支持
详见:Release v1.2.1

刚才看了一眼,淘宝一个店好像下架了,京东现在有货只要80块钱比我买的100多便宜了不少,不知道产品质量有无下降。

这东西我的使用体验还是不错的,不过美中不足的就是侧键的编程功能不能在无线模式下使用,必须插线,并且商家提供的控制软件只有Windows版本。

Wireshark抓包查看USB设备通讯

参考文章:Wireshark 用于USB抓包

过滤方:
usb.src == "host" and usb.dst=="1.2.0"
未完待续

以前也有很多无聊的小鬼喜欢对着我的站点舞弄他胯下的那根牙签,最无聊的那些还在我的站点日志里刷针对thinkphp或者/backup.zip之类搞笑的请求,难得有个比较务实一些所以记录下来。
相关的漏洞,稍微限制下字符串长度就能临时缓解,不过我的博客数据是自动备份的,丢不了所以懒得搭理这些无聊的小鬼。各位看戏就行。

- 阅读剩余部分 -