TYPECHO WIKI

Typecho设置文章密码保护

发布者:Typecho维基君/更新日期:2019-05-22/人气指数:81

在别人博客看到了一个需要输入密码才能访问文章的功能,像下图一样:

Typecho设置文章密码保护

typecho也是有这个功能,不需要插件就可以实现。在编辑文章时,右边高级选项,公开度里有个密码保护可以选择:

Typecho设置文章密码保护

加密效果如下:

Typecho设置文章密码保护

不过这样的界面不是很友好,至少标题还是要显示出来的,不然也吸引不了人
下面就来修改下代码,代码路径:var/Widget/Abstract/Contents.php
找到这页代码,应该在740行左右,将以下三行注释掉,注释是在代码前加上“//”,另外在修改下代码,让界面友好些

//$value['title'] = _t('此内容被密码保护');

//$value['tags'] = array(); 

//$value['commentsNum'] = 0;

更改后的效果如下图:

Typecho设置文章密码保护

标题能被看到了,输入界面也友好了些,只是我不会PHP和CSS,不然也可以做美观些。。。
附修改后的代码,不懂PHP的可以看下,照这样子修改就可以了

if ($value['hidden']) {
$value['text'] = '<form class="protected" action="'. $this->security->getTokenUrl($value['permalink']). '" method="post">'.'<p class="easyPieChart"><input type="password" class="text" name="protectPassword" size="10" placeholder="此文章已被隐藏,请输入密码查看" style="background-color:rgb(246, 244, 236);"/> <input type="submit" class="submit" value="' . _t('提  交') . '" /></p>' . '</form>';
//$value['title'] = _t('此内容被密码保护');
//$value['tags'] = array();
//$value['commentsNum'] = 0;
}

需要特别提醒的是, 在 nginx/apache 中不要自定义 403 错误页 ,因为 nginx/apache 自定义错误页优先于 typecho,一旦设置就不会出现输密码的页面,而是显示 403 错误页了。

本文检索关键词:开发日志
赞助支持

添加新评论 »