Loading... ### 全站加密的问题 一直以来,都想解决壮壮站点的全站加密,注意是全站加密,而不是用wp自带的单独加密。可是这么一个小小的问题,在我不会写代码的情况下,自然也变得麻烦起来。 后来找到了通过**nginx的加密方式**,在进站的时候要输入用户名和密码,这一定程度上解决了这个问题。但是存在两个遗憾:**1)要输入用户名和密码,界面太丑。2)七牛无法回源读取文件。** #### step 1 修改WordPress主题,添加加密功能 用文本编辑器打开你的主题目录下的header.php,在第一行添加以下代码: <?php if (!isset($_SESSION)) { session_start(); } if( isset($_SESSION['authenticated']) ) { if($_SESSION['authenticated'] == 'yes') { $authenticated = 'yes'; } else { $authenticated = 'no'; } } else { $authenticated = 'no'; } if($authenticated != 'yes') { // 将 www.ludou.org 改成你的网站首页地址 header("Location: https://www.ludou.org/login.php"); exit(); } ?> #### step2 接着下载 login.php ,下载后用文本编辑器打开 login.php ,根据提示更改网站URL和密码,最后用UTF8编码保存并上传到你的网站根目录下。好了,现在你的博客就已经被加密了,初次访问必须输入密码。 [login-php][1] (点击下载) 此外,还有其他两种方法也可以解决,根据需要选择。具体看这里: https://www.ludou.org/password-protecting-your-wordpress-blog.html --- 补充一个小问题:上述存在一个小不足,就是登陆后不会返回原始URL,而是会定位到主页。我加了一下两句代码: 1.在主题编辑器中加入以下一行: $_SESSION["c_uri"]=$_SERVER["REQUEST_URI"]; 2.在login.php中修改一下: $url = "https://imgki.com".$_SESSION["c_uri"]; 上面的其实很简单,就是在登录的时候通过记录REQUEST_URI的值到session中,在输入正确密码的返回地址时在加上这个$_SESSION["c_uri"] --- 2017.9.8补充一下:后来陆续还遇到了几个问题,也修正了几个地方。 1.期间出现了一个错误,让人很抓狂,其实就是一个细心的问题,导致在input的数据不能提交到到$_POST变量,出现了一个死循环。写代码这个东西真是能锻炼人的耐心和细心。 2.对登录界面进行了在美化,原来等登录界面实在太丑啦,成果看下图。 ![下载-4.png][2] --- 后期的工作:据说这个还有可能出现XSS攻击?不知道需不需要在捯饬一下。 [1]: https://imgki.com/usr/uploads/2019/03/2565896084.zip [2]: https://imgki.com/usr/uploads/2019/03/3078675203.png Last modification:March 4, 2019 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏