海不眠博客 - PHP
type: channel
link: https://www.catiz.cn/category/php/
description: PHP
items: Typecho添加no-referrer标签插件
items: Typecho评论提醒插件——Go-cqhttp
items: Typecho评论钉钉通知插件
items: 升级Typecho1.2的坑
items: 修改Typecho分页链接
items: Snapic Plus主题如何使用外链图片
items: Apache如何禁止某个目录下的PHP文件禁止运行
items: Mirages主题的美化记录

Typecho添加no-referrer标签插件
type: item
date: 2024-12-30T00:15:00+08:00
description: 上个文章写到使用bilibili作为图床，但是需要添加no-referrer标签才可以，同时发现疑似Typecho的BUG？当我使用!!!来强制使用html标签时，发布文章会无法保存，302到首页。我本来以为是CDN或者WAF的原因，于是之间关闭了CDN，直接解析到WAF，结果依然不行。难道是防火墙拦截了么？拦截应该出现拦截页面啊，并且日志中也没有这个请求，说明WAF是放行了此请求的。至于到底为什么可能要从新搭建一个Typecho来测试才知道了。最近华为云白嫖的新加坡服务器竟然可以访问ChatGPT，所以就用ChatGPT写了一个插件，在文章编辑页选择是否添加no-referrer标签。插件明天会放到Github～睡觉了NoReferrer

Typecho评论提醒插件——Go-cqhttp
type: item
date: 2022-08-22T20:36:00+08:00
description: 使用Go-cqhttp，有评论发送到QQ，同样不提醒发文章用户，也就是文章发布者在此文章下评论不会提醒下载文件后在/usr/plugins下新建文件夹CommentGOcqhttp，然后上传Plugin.php，在后台设置内容

Typecho评论钉钉通知插件
type: item
date: 2022-04-11T16:04:00+08:00
description: 此插件仅用于通知站长，不可以通知评论用户，主要告诉站长有新的评论要求PHP开启curl，将服务器IP添加到钉钉机器人IP白名单，然后在后台开启插件然后填上机器人URL即可注意，博主回复评论时不提醒，只有非文章发表者用户回复评论才会提醒

升级Typecho1.2的坑
type: item
date: 2022-04-01T18:13:00+08:00
description: 昨天晚上看见Typecho1.2发布了，今天给更新了一下，按照官方的文档升级步骤，删除下方文件夹以及文件 /admin//var//index.php/install.php 然后把最新1.2版本的以上文件上传后访问admin后台点击完成升级按钮即可完成升级，但是我访问/admin显示空白，访问/admin/welcome.php之后点击完成升级后升级才完成，首页也可以正常访问，但是后台首页提示当前版本1.2，最新版本1.2，让我们升级。解决办法如下，修改admin/index.php的135行if内修改为function applyUpdate(update) { if (update.latest != update.current) { $(' ' + '<?php _e('您当前使用的版本是 %s'); ?>'.replace('%s', update.current) + ' ' + '' + '<?php _e('官方最新版本是 %s'); ?>'.replace('%s', update.latest) + ' ') .insertAfter('.typecho-page-title').effect('highlight'); } }

修改Typecho分页链接
type: item
date: 2022-01-15T21:12:00+08:00
description: 发现Typecho的分页链接，如果我点了下一页，比如第二页，我想再点上一页回到首页的时候。跳转的链接并不是首页，而是分页的第一页https://wcnmb.cn/page/1/这我就看着很不爽了，然后找了半天也没看懂在哪改，干脆直接用jQuery修改吧if($("li.prev").html() == '上一页') $("li.prev").html('上一页')

Snapic Plus主题如何使用外链图片
type: item
date: 2020-08-09T00:56:00+08:00
description: 前几天买了Snapic Plus主题，买完发现不能使用外链图片，只能在附件上传图片才可以显示，作者给出的解决办法是让我联系他的另一个用户，在我手动去修改文件前我联系了他，当然，我并没有抱太大希望，因为是邮箱，而且又是Gmail邮箱。所以经过我2个小时的研究，终于解决了，修改后既可以使用附件，也可以使用图片外链。修改方法如下：打开主题文件下的functions.php，删除63行至78行，然后在删除的地方添加以下代码：function img_catiz($content) { preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $content, $theurl); //通过正则式获取图片地址 $img_src = $theurl[1]; //将赋值给img_src return $img_src; }然后打开主题文件下的index.php，删除86行至95行，然后在删除的地方添加以下代码：<?php $bye_my_love = img_catiz($this->content); foreach ($bye_my_love as $do_not_cry) { echo ' cid.'">cid.'"> '; } ?>End of tutorial.注意：只支持常规图片后缀，如果你需要使用又拍云的图片处理 - 缩略图版本，需要在$do_not_cry后面加上缩略名

Apache如何禁止某个目录下的PHP文件禁止运行
type: item
date: 2020-07-19T18:30:00+08:00
description: 前几天给一个人拿他提供的源码做的网站，在上传图片的地方，竟然没有设置禁止上传的文件，于是，这几天就有人上传PHP文件来搞事了。再我找了半天也没找到他这个上传文件的地方写在哪，于是在宝塔的某个专业版防火墙里面看到了一个功能———禁止某个目录下的PHP文件被解析，果断开启，但发现并无卵用，于是在万能的百度下找到了答案只需要在需要禁用的目录下新建.htaccess文件，存入以下内容：<FilesMatch (.*)\.php(.*)> Order allow,deny Deny from all </FilesMatch>这个的意思就是禁止访问所有PHP文件了，这时候我们访问PHP文件就显示403了，但访问图片是正常的

Mirages主题的美化记录
type: item
date: 2020-01-25T11:07:00+08:00
description: 点击页面彩色爱心特效在网站的前引入以下 JavaScript 代码eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('!2(e,t,a){2 r(){1j(6 e=0;e<s.1d;e++)s[e].9<=0?(t.P.11(s[e].v),s.1h(e,1)):(s[e].y--,s[e].4+=.12,s[e].9-=.1c,s[e].v.O.N="M:"+s[e].x+"D;C:"+s[e].y+"D;1b:"+s[e].9+";b:4("+s[e].4+","+s[e].4+") 7(8);p:"+s[e].B+";z-1n:1o");u(r)}2 n(){6 t="2"==13 e.l&&e.l;e.l=2(e){t&&t(),o(e)}}2 o(e){6 a=t.A("1e");a.1f="3",s.1i({v:a,x:e.1r-5,y:e.1m-5,4:1,9:1,B:c()}),t.P.q(a)}2 i(e){6 a=t.A("O");a.1p="R/S";T{a.q(t.U(e))}V(t){a.W.N=e}t.X("Y")[0].q(a)}2 c(){Z"10("+~~(k*j.h())+","+~~(k*j.h())+","+~~(k*j.h())+")"}6 s=[];e.u=e.u||e.14||e.15||e.16||e.17||2(e){18(e,19/1a)},i(".3{E: F;w: F;G: H;p: #1g;b: 7(8);-I-b: 7(8);-J-b: 7(8);}.3:K,.3:L{1l: \'\';E: g;w: g;p: g;f-d: m%;-I-f-d: m%;-J-f-d: m%;G: H;}.3:K{C: -Q;}.3:L{M: -Q;}"),n(),r()}(1q,1k);',62,90,'||function|heart|scale||var|rotate|45deg|alpha||transform||radius||border|inherit|random||Math|255|onclick|50|||background|appendChild||||requestAnimationFrame|el|height||||createElement|color|top|px|width|10px|position|fixed|webkit|moz|after|before|left|cssText|style|body|5px|text|css|try|createTextNode|catch|styleSheet|getElementsByTagName|head|return|rgb|removeChild|004|typeof|webkitRequestAnimationFrame|mozRequestAnimationFrame|oRequestAnimationFrame|msRequestAnimationFrame|setTimeout|1e3|60|opacity|013|length|div|className|f00|splice|push|for|document|content|clientY|index|99999|type|window|clientX'.split('|'),0,{}))添加代码 Mac 风格高亮插件下载插件下载后修改CSS JS，所以我仅修改了WhiteMac.css和GrayMac.css文件，修改后的CSS代码如下WhiteMac.csscode[class*="language-"],pre[class*="language-"]{background:#f3f3f3;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break…