3

索引.php

$admin_cookie_code="1234567890";
setcookie("JoomlaAdminSession",$admin_cookie_code,0,"/");
header("Location: /administrator/index.php");

.htaccess 文件

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/administrator
RewriteCond %{HTTP_COOKIE} !JoomlaAdminSession=1234567890
RewriteRule .* - [L,F]

我使用了此代码,但它不起作用...页面将被重定向到管理员,但 www.domain.com/administrator 也可以访问

4

3 回答 3

5

我厌倦了寻找这个答案,只是制作了一个 PHP 代码,如果访问者没有安全密钥或作为注册用户进入 /administration 文件夹,它将重定向:

只需将此代码放在管理文件夹 (/administration/index.php) 中 index.php 文件末尾的“echo”指令之前:

/* Block access to administrator
 --------------------------------------------- */
$user =& JFactory::getUser();
$secretkey = 'mysecretkey';
$redirectto = 'location: yourdomainurlhere';
$usertype = 'Registered';

//Check if the user is not logged in or if is not a super user:
if ($user->guest || (!$user->guest && $user->usertype != $usertype) ) {
 //Check if the secret key is present on the url:
 if (@$_GET['access'] != $secretkey) { header($redirectto); }
}
/* --------------------------------------------- */

之后您将只能使用以下方式访问您的站点:mysite.com/administrator/?access=mysecretkey

在 Joomla 1.5 和 Jooma 2.5 上测试,两者都运行良好。

我在我的页面上稍微解释一下: https ://www.infoeplus.com/protect-your-joomla-administrator-folder/

于 2012-10-10T15:35:10.593 回答
3

您是否试图隐藏管理员 URL?这是我正在使用的: http ://extensions.joomla.org/extensions/access-a-security/site-security/login-protection/15711

你可以在这里找到更多的扩展:http: //extensions.joomla.org/extensions/access-a-security/site-security/login-protection

于 2012-01-27T10:41:48.767 回答
1

http://extensions.joomla.org/extensions/access-a-security/site-security/login-protection

您可以使用它来保护您的管理员登录。这真的很简单,而且很好的扩展。

于 2012-02-16T13:14:25.657 回答