11

更新:

由于有人问过这个问题,Joomla StackExchange已设置并且存在相同的问题,请对该问题添加任何答案或评论

原来的:

我正在为一个相当大的新客户端使用 Joomla 3.0.3,安全性是必须的。因此,我决定尝试更改管理员 URL,通常

example.com/administrator

变成

  example.com/newadminurl

原因是如果文件夹不在潜在黑客所期望的位置,这是他们甚至可以尝试其他任何东西之前的第一个障碍。

但是,现在这意味着每当我访问新 URL 时,它都会出现 403 错误。我尝试搜索是否有需要更改的全局配置设置,但在网络或 Joomla 网站上找不到任何内容。任何人都知道如何在源代码中进行深入更改?

4

3 回答 3

9

步骤 1。在您的根目录中创建一个新目录(例如“newadminurl”)

步骤 2。在“newadminurl”目录中创建一个 index.php 文件。

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

步骤 3。将此添加到您真正的 Joomla 管理员目录的 .htaccess 中

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

说明

现在,您需要在打开“管理员”路径之前打开“ http://yoursite.com/newadminurl/ ”。在这里,我们创建了一个在会话结束时过期并重定向到实际管理页面的 cookie。在您没有打开您的秘密链接之前,您的实际“管理员”路径是无法访问的。

我希望这就是你要找的。

于 2014-02-25T10:49:03.200 回答
8

虽然有一些黑客可以做到这一点,但它们引入了新的安全问题,如 Joomla!核心不是以这种方式工作的。

事实上,在核心和 3rd 方扩展和模板中,从/administrator.

保护您的网站的最佳做法是:

  1. 保留您的 Joomla!安装最新(最常见的原因是安装过时)
  2. 不要破解核心文件,如果您需要额外的功能,请复制核心组件并扩展它,而不是核心。
  3. 添加realm密码/administrator
  4. /administrator网址上的一个秘密词,例如/administrator/?s3cr3tpa55w0rd
  5. 仅允许选定 IP 地址访问的 ip 白名单/administrator
  6. 使用唯一且强密码
  7. 即使与重要的其他人也不要共享密码...
  8. 在您的站点上制定密码策略。
  9. 将经过测试的定期站点备份保存在服务器外的存储位置。
  10. 运行文件扫描程序以帮助您检测黑客攻击,以便您了解最后一次良好的回馈被带走的地方。

您可以在Joomla!的访问和安全部分找到为您执行一项或多项操作的扩展程序!扩展目录 (JED),对于云或其他存储的集成备份,您无法通过Akeeba Backup(与我的时间成本相比,我个人使用 Pro 版本的成本很小)。

事实上, Akeeba 的 Admin Tools Pro(包含在他们的任何订阅中)也通过它的 WAF(Web 应用程序防火墙)提供了该列表中的大部分功能。唯一没有涉及的领域是密码管理,其中有几种可用的解决方案。

于 2013-02-23T05:29:23.167 回答
3

核心和第三方扩展中可能存在各种依赖项,这些依赖项将对管理路径进行硬编码,即使有平台变量可以帮助实现这一点。

我建议您改为配置您的 .htaccess 以防止公开查看您的管理员文件夹,并将访问权限仅限于批准的 IP 地址。这将阻止他们访问管理文件夹,但当然不能防止不需要直接访问的攻击(例如,某些第三方应用程序从前端为组件调用管理文件夹中的代码)。

注意:这位于您文件夹中的 .htaccess 文件中,administrator而不是站点根目录中的 .htaccess 中,即[siteroot]/administrator/.htaccess

以下是您可以配置的 .htaccess 示例:

ErrorDocument 403 http://www.your-ip-is-not-allowed-to-access-this-section.com
Order deny,allow
Deny from all
Allow from X.X.X.X

如果X.X.X.X.您要允许管理部分的 IP 地址在哪里。您可以使用多行指定多个地址Allow from X.X.X.X

于 2013-02-23T00:19:36.783 回答