typecho附件页面可以评论,那么如何找到别人的附件页面地址呢?

时间:2020-08-01   阅读:361

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

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

答案是用php
让php访问从id为1的页面访问,如https://WWW.BOKEBU.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; ?>



上一篇:Typecho数据库常用API

下一篇:Typecho使用AJAX实时获取评论头像

网友评论