谁能告诉我如何更改 SilverStripe 3.1.x 上的管理员路径?我建立的网站在安全扫描中存在中等风险的安全问题 - 显然路径/admin 太容易猜到了。

建议是:



我在这里找到了 SilverStripe 2.x 的一些东西: http://www.silverstripe.org/archive/show/3550 ,但我需要 SilverStripe 3.1.x 类似的东西

最佳答案

没有完全测试,但将它们添加到您的 config.yml 中似乎可以解决问题:

Director:
  rules:
    'admin': ''
    'fancyLongAdminURL': 'AdminRootController'
AdminRootController:
  url_base: 'fancyLongAdminURL'
LeftAndMain:
  url_base: 'fancyLongAdminURL'

我唯一能看到不起作用的是左上角的 myProfile 链接。但那是因为 url 是硬编码在模板 LeftAndMain_Menu.ss 中的,您可以创建自己的模板。

编辑: 上面的 应该 适用于框架。对于 CMS 和其他模块,必须对此进行调查,并且可能需要更多的类/模板覆盖,例如:
  • CMS 似乎有硬编码的管理 urlIntall_deleteinstallfiles.ss , AssetAdmin.js , VirtualPage.php ,SiteTree.php , AssetAdmin.php , routes.yml ....
  • Reports 模块硬编码在 Report.php

  • 在这些情况下,在核心实现之前,URLRewrite 可能更方便。

    更新: 现在已合并到 master 分支中,因此它应该会进入下一个 4.0 版本:
    https://github.com/silverstripe/silverstripe-framework/pull/3274

    关于security - 如何更改 SilverStripe 3.1.x 中的管理路径?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24125655/

    10-10 10:56