Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 更改Joomla管理员URL_Security_Url_Joomla_Configuration_Joomla3.0 - Fatal编程技术网

Security 更改Joomla管理员URL

Security 更改Joomla管理员URL,security,url,joomla,configuration,joomla3.0,Security,Url,Joomla,Configuration,Joomla3.0,更新: 由于此问题已被提出,因此已设置,请为该问题添加任何答案或评论 原件: 我将Joomla 3.0.3用于一个相当大的新客户机,安全性是必须的。因此,我决定尝试更改管理员URL,通常情况下 example.com/administrator 改为 example.com/newadminurl 原因是,如果这些文件夹不是潜在黑客期望的地方,那么在他们尝试其他任何东西之前,这是第一个障碍 然而,现在这意味着每当我转到新的URL时,它都会出现403错误。我尝试过搜索是否需要更改全局配置设

更新:

由于此问题已被提出,因此已设置,请为该问题添加任何答案或评论

原件:

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

example.com/administrator
改为

  example.com/newadminurl
原因是,如果这些文件夹不是潜在黑客期望的地方,那么在他们尝试其他任何东西之前,这是第一个障碍


然而,现在这意味着每当我转到新的URL时,它都会出现403错误。我尝试过搜索是否需要更改全局配置设置,但在web或Joomla站点上找不到任何内容。有人知道如何在源代码的深处改变这一点吗?

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

我建议您改为配置.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地址允许发送到管理部分。您可以从X.X.X.X行指定多个
允许的地址。

虽然有黑客这样做,但他们引入了新的安全问题,如Joomla!核心不是为了这样工作而构建的

事实上,从
/administrator
加载模型、控制器和其他资产在核心和第三方扩展和模板中都是常见的做法

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

  • 留着你的乔姆拉!安装是最新的(最常见的原因是安装过时)
  • 如果你需要额外的功能,不要攻击核心文件,复制核心组件并扩展它,而不是核心
  • 添加一个
    密码
    /administrator
  • /administrator
    url上的秘密单词,例如
    /administrator/?s3cr3tpa55w0rd
  • 仅允许选定ip地址访问的ip白名单
    /administrator
  • 使用唯一且强的密码
  • 不要与你的另一半共享密码
  • 在您的站点上制定密码策略
  • 将经过测试的定期站点备份保存在非服务器存储位置
  • 运行一个文件扫描程序来帮助你检测黑客行为,这样你就能知道你上一次的好背是在哪里被拿走的
  • 您可以在的部分中找到可以为您完成其中一项或多项任务的扩展,以及用于云或其他存储的集成备份的扩展(就个人而言,与我的时间成本相比,我们总是使用Pro版本,这是一笔微薄的费用)


    事实上(包括在他们的任何订阅中)也通过其WAF(web应用程序防火墙)提供了该列表中的大部分功能。唯一未涵盖的领域是有几种解决方案可用。

    步骤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]
    
    说明

    现在,您需要先打开“”,然后再打开“管理员”路径。在这里,我们创建了一个cookie,该cookie在会话结束时过期,并重定向到实际的管理页面。在不打开机密链接之前,无法访问实际的“管理员”路径


    我希望这就是您想要的。

    这应该是这里和Joomla StackExchange线程上的正确答案。这不会破坏管理员页面,但也会向不知道隐藏URL的用户隐藏/administrator URL,这正是我需要的。谢谢