更新
由于此问题已设置Joomla StackExchange已设置且the same questions exists there,请在该问题中添加任何答案或评论
原始
我正在使用Joomla 3.0.3作为一个相当大的新客户端,安全性是必须的。因此,我决定尝试更改管理员URL,通常是
example.com/administrator
更改为
example.com/newadminurl
原因是,如果文件夹不是潜在的黑客所期望的,那么这是他们甚至可以尝试其他任何事情之前的第一个障碍。
然而,现在这意味着每当我转到新网址时都会出现403错误。我试过搜索是否有全局配置设置我需要更改但在网站或Joomla网站上找不到任何内容。任何人都知道如何在源代码中深入改变这一点?
答案 0 :(得分:7)
第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。在您的秘密链接上没有打开之前,您的实际“管理员”路径是无法访问的。
我希望这就是你要找的东西。
答案 1 :(得分:6)
虽然有这样做的黑客,但他们引入了新的安全问题,如Joomla!核心不是以这种方式工作的。
事实上,核心和第三方扩展和模板中的常见做法是从/administrator
加载模型,控制器和其他资产。
最佳做法是保护您的网站:
realm
密码/administrator
/administrator
网址上的一个秘密字词,例如/administrator/?s3cr3tpa55w0rd
/administrator
您可以在Access & Security的Joomla! Extension Directory (JED)部分找到可以为您执行其中一项或多项操作的扩展程序,以及无法通过的集成备份到云或其他存储的扩展程序{{ 3}}(与我的时间成本相比,我们总是使用专业版本的个人费用很少)。
事实上,Akeeba Backup(包含在他们的任何订阅中)也通过它的WAF(Web应用程序防火墙)提供该列表中的大多数功能。唯一没有涉及的领域是Akeeba's Admin Tools Pro,其中有几种可用解决方案。
答案 2 :(得分: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
X.X.X.X.
,如果您要允许管理部分使用的IP地址。您可以使用多个Allow from X.X.X.X
行指定多个地址。