为Emlog整站添加密码(HTTP验证)

开头老规矩,唠叨几句,少数人知道我有个日记博客,少数人会去看,少数人能坚持看完,少数人想评论,结果发现没有评论框,所以呢,加密吧,看客、蜘蛛一起屏蔽,也算是自己的一点私人空间。下面进入正题。

这个加密说白了就是用PHP通过HTTP验证的 代码,基本功能也很简单,输入正确的帐号密码访问内容,反之则提示密码错误。具体应用于Emlog的方法如下:

首先新建两个文件

文件一:http.php

<?php$auth_realm='i@tod.cc';require_once'auth.php';require_once'index.php';?>

件二:auth.php

<?php
$_user_='tod';
$_password_='123456';
session_start();
$url_action=(empty($_REQUEST['action']))?'logIn':$_REQUEST['action'];
$auth_realm=(isset($auth_realm))?$auth_realm:'';
if(isset($url_action)){if(is_callable($url_action)){call_user_func($url_action);
}
else
{
echo'Function does not exist, request terminated';
};
};
functionlogIn(){global$auth_realm;if(!isset($_SESSION['username'])){if(!isset($_SESSION['login'])){$_SESSION['login']= TRUE;header('WWW-Authenticate: Basic realm="'.$auth_realm.'"');
header('HTTP/1.0 401 Unauthorized');
echo'You must enter a valid login and password';
echo'<p><a href="?action=logOut">Try again</a></p>';
exit;
}
else
{
$user=isset($_SERVER['PHP_AUTH_USER'])?$_SERVER['PHP_AUTH_USER']:'';
$password=isset($_SERVER['PHP_AUTH_PW'])?$_SERVER['PHP_AUTH_PW']:'';
$result=authenticate($user,$password);
if($result==0){$_SESSION['username']=$user;
}
else
{
session_unset($_SESSION['login']);
errMes($result);
echo'<p><a href="">Try again</a></p>';
exit;};};};}
functionauthenticate($user,$password){global$_user_;global$_password_;
if(($user==$_user_)&&($password==$_password_)){return0;}else{return1;};}
functionerrMes($errno){switch($errno){case0:break;case1:echo'The username or password you entered is incorrect';break;default:echo'Unknown error';};}functionlogOut(){session_destroy();
if(isset($_SESSION['username'])){session_unset($_SESSION['username']);
echo"You've successfully logged out<br>";
echo'<p><a href="?action=logIn">LogIn</a></p>';
}
else
{
header("Location:?action=logIn", TRUE,301);};if(isset($_SESSION['login'])){session_unset($_SESSION['login']);};
exit;}
?>

在auth.php的第一行和第二行设置帐号密码,把这两个文件上传到博客的根目录,如过是支持htaccess的服务器需要在htaccess的文件中加入DirectoryIndex http.php index.php用以修改网站默认首页显示顺序,如果是iis服务器直接在面板里设置即可。大家可能会发现这俩文件其实可以直接在Emlog的index.php文件中添加,我这样做的目的是为了防止Emlog程序升级覆盖了index.php这个文件(即使Em很少升级首页文件),别弄出什么门事件,就不好了。

别急,还没完,别忘记EM还有手机文件夹,方法同上,把http.php和auth.php这两个文件放到m文件夹下即可。

 

原文链接:http://94wz.top/13.html,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?