关于Typecho的评论地址异常的简单方案
解决博客评论区里的网友网站异常(域名网站被出售或放弃成非法网站内容)的问题。
群里有说,某博主的网站因为评论区里的其它网友对应的域名地址链接变动(出售或放弃成非法网站内容)导致被网信通报停站的情况。
虽然我的站点在港区,但是想着如果网站上有链接地址被跳到花花绿绿网站上也心烦。
我目前的方案是做一个中间页,发现有博友离场放弃网站后,就将这个域名加到黑名单列表里,然后跳转到空白页(或异常处理页)上,但是不知道在墙内的友友们使用这种方法可以避免约谈不?
方式很简单
在博客根目录下建一个跳转目录,如 linkredirect 。
在里面新建一个index.php页(UTF-8编码),代码内容如下:
<?php
header("Content-type: text/html; charset=utf-8");
// ========================== 文件说明 ==========================//
// 本文件说明:URL二次跳转
// ==============================================================//
$url_c=$_GET['url'];
if($url_c==""){
exit();
}
$urljump=urldecode($url_c);
$handle = fopen("block.txt", "r"); // 打开文件
if ($handle) {
while (($line = fgets($handle)) !== false) {
$blockurl=trim($line);
if (strpos($urljump, $blockurl) !== false) {
//域名在黑名单里
//header('Location: 404.html'); //跳转到异常处理页
echo "URL:404【该网站离线】"; //显示异常处理信息
exit();
}
}
} else {
//无法打开文件;
echo "ERROR";
exit();
}
fclose($handle); // 关闭文件
//正常跳转
header('Location: '.$urljump.'');
exit();
?>
接着目录下创建一个block.txt保存黑名单网址域名,不用加www前缀一行放一个。
如block.txt文件内容:
abc.xyz
123.xyz
接着修改Typecho(v1.2.1)目录下\var\Widget\Base\Comments.php里的(差不多第271行处。做好备份。)
echo '<a href="' . Common::safeUrl($this->url) . '"'
修改为
echo '<a href="/linkredirect/?url=' . Common::safeUrl($this->url) . '"'
结束。
原理很简单,就是对比一下黑名单列表。实际效果就是,点开链接就先跳转 https://你的域名/linkredirect/?url=网友域名。网友域名不在黑名单里直接跳转,域名在黑名单里就拦截处理。
后续如果有新增,直接修改block.txt文件即可。
仅是一个简单的方案思路,没有弄成插件之类的。其它博客程序应用上大同小异,可以自行扩展(任意修改),对应文件打包(linkredirect.zip)。
直接把1个月以前的评论链接去了就行😂
对于国内环境很实用,太多这样的老域名了~
我一直外漂,不理他😁
我的2018年之前的用户留言里面,大部分网站都打不开了
主要墙内的怕链接的失效网站诈尸成波菜站之类的😎
博主的网站是什么规格的主机,多少马内?
1C2G,港区服,来自于硅云。
有没有WordPress的方法呀,这个问题是得要解决一下。
WP应该有相关插件吧。还我看你用的WP主题也是有个中间页/go/跳转,加个黑名单判断应该也不难。😋
水平很高啊,就是在担心这个事怎么办,代码都出来了,下次直接来这里搬,谢谢分享!
过赞。只是一个简单功能。😂
应该可以的,国内各大平台,跳转外链都是加个中间页😀
我也是这么想的。从原理来说,官家不论是手动抽查还是机器查,没有跳转过去。最少,至少有个申诉的理由。😎
果断收藏起来,后续备用
你的网站一直注册不了 z@自定义域名邮箱 显示非法
不应该呀,你可以给这个邮箱发个邮箱初始账户密码,我后台给你注册,到时你改下初始密码sagrre_cn@126.com
夕格你是博客研究“僧”。各种新花式。😁