(转)保护Joomla的Administrator目录的两种方法

2007-12-25 – 1:15 pm

针对joomla后台不能改变目录名称,有人担心不会很安全,其实我们可以利用Apache服务器中的.htaccess文件来保护joomla后台的安全。以下介绍2 种方法来保护我们的joomla后台。

方法1:指定IP来访问来访问后台

如果你是用固定IP上网的话,我们就可以利用.htaccess文件直接定你要访问的IP地址,用这个来限制对后台的访问。

建立一个空的.htaccess文件,在里面输入

<Limit GET>
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
</Limit>

其中127.0.0.1是你的ip,你也可以指定一段IP如:127.0.0等,也可以指定多个IP给他,如127.0.0.1,192.168.0.1等。如果不是以上IP访问后台,就会出错。

方法2:用口令来保护后台

当然,大部份人是没有固定IP的,那么我们也可以利用口令来保护我们的joomla后台。

建立一个空的.htaccess文件,输入下列内容:

AuthType Basic
AuthName “Joomla Administrator”
AuthUserFile 你joomla所在的目录/administrator/.htpasswd
<Limit GET>
require valid-user
</Limit>

再用Apache服务器自带的htpasswd.exe文件建立一个口令文件.htpasswd,注意这个口令文件也要放在你joomla所在的目录/administrator中。命令如下:

htpasswd -c 你joomla所在的目录/administrator/.htpasswd blank

blank是你要建的用户名。

#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数

如果你们想修改密码,可以如下

htpasswd -m .htpasswd blank

呵呵,这样你进入后台时,你就会发现浏览器先弹出一个窗口向你要口令。多一层保护。

当然,你也可以本机试成功之后再将这2个文件上传到你的joomla的且台目录中去,注意一下你的.htaccess文件中的目录,不能写错了,否则会后台进不去的。要去掉口令保护也很简单,通过ftp把这2 个文件删除就行。

建立可以登陆用的页面,放在根目录下, 本站以 try.php 为例:

<?php
  session_name( “Autoit” );
  session_start();
  $_SESSION[‘admin_user’] = “Y”;
  session_write_close();
?>
<meta http-equiv=“refresh” content=“0;url=http://www.autoit.cn/administrator”>

然后在administrator/index.php的32行左右增加[具体可以参考下面图示]:

// Add by Autoit!
session_name( “Autoit” );
session_start();
$ok_to_browse = ( $_SESSION[‘admin_user’] == “Y” );
if (! $ok_to_browse ) {
 require( $mosConfig_absolute_path .‘/offline.php’ );
}else{
   $_SESSION[‘admin_user’] = “Y”;
  session_write_close();
}
//   Add by Autoit! 

不清楚的可以参考下面图示!
Image

这样基本上就可以了.

自己登陆的使用方法: http://www.autoit.cn/try.php ,这样的效果和没改之前是相同的.而直接用 http://www.autoit.cn/administrator/ 是不可以的! 所以为了安全点,你可以把 try.php这个名字改的只你自己知道就可以. session_name 里的 Autoit 也是要改的! 可以改的不容易被猜出来. 这样的话就多了一道门, 这就是我的:”改变”你 joomla 的 Administrator目录了!

在你登陆到后台后,如果不关闭这个浏览器窗口,那么他都是一直有效的,如果关闭就要重来!

说出来真是小儿科, 但不说你还真不知道丫…… 没想私有,分享了出来.

Popularity: 10% [?]

Leave a Reply

You must be logged in to post a comment.