更改Joomla管理员URL

11

更新:

自从这个问题被提出后,Joomla StackExchange已经建立,并且相同的问题在那里存在。请将任何答案或评论添加到该问题中。

原文:

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

example.com/administrator

改为

  example.com/newadminurl

原因是如果文件夹不在潜在黑客预期的位置,这是他们在尝试其他事情之前必须克服的第一道障碍。
然而,现在每当我访问新的URL时,它会出现403错误。我已经尝试搜索是否需要更改全局配置设置,但在网上或Joomla网站上找不到任何信息。有人知道如何在源代码深处更改这个吗?
3个回答

9

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

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

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

第三步:将以下内容添加到您的实际Joomla管理员目录的.htaccess文件中:

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

解释:

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

我希望这就是您要找的内容。


这应该是正确的答案,无论是在这里还是在Joomla StackExchange线程上。 - eja
这不会破坏管理员页面,同时还将 /administrator URL 隐藏起来,让不知道隐藏 URL 的用户看不到,正是我需要的。谢谢! - Saruva

8
虽然有一些可行的方法可以实现这一点,但是它们会引入新的安全问题,因为 Joomla! 核心不是按照这种方式构建的。
事实上,在核心和第三方扩展和模板中,从 /administrator 加载模型、控制器和其他资源是常见做法。
最佳实践是保护您的网站:
1. 保持 Joomla! 安装程序最新(最常见的原因是过时的安装程序); 2. 不要篡改核心文件,如果需要额外的功能,请复制核心组件并扩展该组件,而不是核心; 3. 在 /administrator 上添加一个 realm 密码; 4. 在 /administrator url 上添加一个秘密词,例如 /administrator/?s3cr3tpa55w0rd; 5. 设置仅允许特定 IP 地址访问 /administrator 的 IP 白名单; 6. 使用唯一且强密码; 7. 不要与您的伴侣分享密码...; 8. 在您的网站上执行密码策略; 9. 在离线服务器存储位置上保持经过测试和定期备份的网站备份; 10. 运行文件扫描程序以帮助检测黑客攻击,以便您知道上次好的备份是在何时。
您可以在Joomla! Extension Directory (JED)访问和安全部分找到为您完成其中一个或多个任务的扩展程序。对于集成备份到云或其他存储,您不能错过Akeeba Backup(就个人而言,与我花费时间的成本相比,我们总是选择Pro版本)。实际上,Akeeba的Admin Tools Pro(包含在任何订阅中)也通过其WAF(Web应用程序防火墙)提供了该列表中的大多数功能。唯一未涵盖的领域是密码管理,其中有几种解决方案可用。

3
核心和第三方扩展中可能会有各种依赖项,它们会将管理员路径硬编码,即使有平台变量来辅助此过程。
我建议您配置.htaccess来防止公开查看您的管理员文件夹,并仅限批准的IP地址访问。这将防止他们访问管理员文件夹,但是当然无法保护免受不需要直接访问(例如,某些第三方应用程序从前端调用组件中的管理文件夹中的代码)的攻击。
注意:此内容应放在您的administrator文件夹的.htaccess文件中,而不是站点根目录中的.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

如果您想允许特定 IP 地址访问管理部分,请在以下位置添加 Allow from X.X.X.X 行,其中 X.X.X.X 是所需 IP 地址。您可以使用多个 Allow from X.X.X.X 行指定多个地址。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接