前言
typecho的附件其实和文章性质一样,附件也有单独的页面,也可以进行评论,附件页面的地址格式如https://zezeshe.com/attachment/1293/,1293就是附件的id,其实文章id和附件id是同一个东西,所以有的时候发布文章时id,文章id并不连贯。

typecho的附件页面除了管理员外,其他人不能直接找到附件页面,那么怎么做可以找到别人的附件页面,然后进行评论,皮一下呢?

答案是用php
让php访问从id为1的页面访问,如https://zezeshe.com/attachment/1/,如果返回状态404,那么id+1继续访问,直到访问到非404的地址,然后输出该地址,跳出for循环。

<?php
header('content-type:text/html;charset=utf-8');
for($i=1;$i<300;$i++){
$url = 'https://域名/attachment/'.$i;
$headers = get_headers($url);
if (strpos($headers[0], '404')) 
{echo $i;}else{
 echo '<br>他的附件页面地址为<br>'.$url;break;
}
}
?>

上述代码中$i就是代表id的,可以看出来我写的是循环到300,就是怕超时,如果300还没出来,就改下i的默认值和,循环变量在跑一遍...[谁让我是渣渣呢!]
【部分人开了debug模式,即使不存在的页面也不是404状态,这样的网站就没办法了!】

模板作者如何关闭附件页面的评论功能呢
答案是用if判断下,如果是附件页面就不输出评论框,并显示提示文字“附件页面禁止评论”

<?php if ($this->is('attachment')) : ?><h4 class="comment-close">附件页面禁止评论</h4>
<?php else: ?>你的评论框代码部分<?php endif; ?>


我已经去了https://get233.com/https://i.chainwon.com/https://www.helingqi.com/https://blog.qwq.moe/https://www.jimoe.cn/ 这些人的附件页面皮了下。ヽ(✿゚▽゚)ノ

后续
该文章发布后当晚我就想能不能纯前端的实现这个呢,于是弄了一晚上,然后刚刚做了个视频演示,欢迎大家前去投币:
https://www.bilibili.com/video/av25724719/

版权属于:泽泽社长
本文链接:https://blog.zezeshe.com/archives/typecho-attachments-attachment-address.html
本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!