如何通过 htaccess 保护商店?

Posted

技术标签:

【中文标题】如何通过 htaccess 保护商店?【英文标题】:How to protect the shop via htaccess? 【发布时间】:2021-06-05 11:04:26 【问题描述】:

我想使用 htaccess 身份验证保护来保护 Shopware 6 安装。但是当我在/public 文件夹中的.htaccess 文件中设置它时,我总是在后端(登录后)得到一个“htaccess 循环”,我不能再使用它了。

我试图排除 /api/admin 但我对此并不满意。 我该如何解决这个问题?

/public/.htaccess

AuthName "Prompt"
AuthType Basic
AuthUserFile /home/my-project/.htpasswd
Require valid-user
SetEnvIf REQUEST_URI "(/admin)" ALLOW
SetEnvIf REQUEST_URI "(/api)" ALLOW

<RequireAny>
  Require env ALLOW
  Require valid-user
</RequireAny>

【问题讨论】:

i always get a "htaccess loop" in the backend 你到底是从哪里得到这个错误的? 嗨。我在登录过程中得到它。我编辑了我的问题。谢谢! 没有称为htaccess loop 的错误,并且您的代码中没有显示重写规则。您是否从代码中收到此错误? 【参考方案1】:

把它放在你的public/.htaccess文件的开头:

AuthType Basic
AuthName "Please login."
AuthUserFile /home/my-project/.htpasswd

<RequireAny>
    Require expr %THE_REQUEST =~ m#.*?\s+\/api.*?#
    Require valid-user
</RequireAny>

// Rest goes here -->

https://issues.shopware.com/issues/NEXT-4243(德语)

非德语用户的基本翻译:

票证:NEXT-4243 | auth_basic 条目阻止后端访问

此票证不用于实施。因此它被关闭了。导致此类决定的原因可能包括故障单的复杂性或范围,以及更改导致的可能错误来源。 [...] 这里的短期解决方案不是通过托管配置创建身份验证,而是通过htaccess / htpasswd创建它,然后不对URL“/api”的请求进行htaccess中的身份验证

【讨论】:

您的解决方案不起作用 :'(

以上是关于如何通过 htaccess 保护商店?的主要内容,如果未能解决你的问题,请参考以下文章

通过https忽略htaccess文件

在 .htaccess 中为 WordPress 安全添加安全标头

如何阻止对根文件夹中除 index.php 之外的所有 .php 的访问(通过 .htaccess)?

通过 htaccess 密码保护识别“apple-touch-icon”

301 重定向.htaccess

如何仅使用 .htaccess 文件设置 ssl