【问题标题】:Bypass htaccess Password Protection for API calls绕过 API 调用的 htaccess 密码保护
【发布时间】:2018-07-23 23:21:33
【问题描述】:

我们的开发网站密码使用 htaccess 和 htpasswd 保护。我们的开发网站上有 REST API,当我们不使用任何授权标头时,我们可以通过将用户名和密码作为基本身份验证类型传递来绕过密码保护。请检查以下屏幕截图

Postman Authorization Type

但是,我们还有一些其他 API 需要将承载(令牌)作为授权标头传递。在这种情况下,我们无法为 htaccess 密码和令牌传递多个授权标头。

有没有一种方法可以同时传递 htaccess 授权标头和 API 授权标头?或者我们可以只为 API 调用而不是网站绕过密码保护吗?

更多信息,我们使用的是 Apache/2.4.28。

谢谢

【问题讨论】:

  • 你找到解决办法了吗?
  • 嘿 Muniraj,你找到解决方案了吗?

标签: .htaccess rest password-protection apache2.4


【解决方案1】:

如果您使用邮递员基本身份验证和用户名添加密码,它将绕过 htaccess。

如果您使用直通代码,请使用 base64 对您的“用户名:密码”进行编码并将其传递到标头中,

'Authorization': "Basic BASE64ENCODE"

【讨论】:

  • 他特别要求提供绕过htaccess和api授权的解决方案。使用您的示例只能绕过 htaccess,但不允许访问 API。
【解决方案2】:

超级老问题,但我刚遇到这个问题,发现您可以将基本身份验证和承载令牌组合成 1 个授权调用。

这就是我使用 Postman 的方式:

  1. 创建基本身份验证以通过您的 htaccess 密码:

  1. 转到 Headers 部分并复制 Hashed Basic Auth Value:

  1. 仍在标头中添加新的授权密钥。对于值,添加您复制的基本身份验证哈希,然后添加您的不记名令牌。应该是这样的:
Basic dGVhbToxxxXXXxxxXx== Bearer 2|XDIrp...wqhKCzvOpK
  1. 现在返回“授权”选项卡(第 1 步)并将基本身份验证更改回从父级继承身份

  2. 最终的 Header 应该是这样的:

现在您可以通过 htaccess 并使用不记名令牌验证您的 Api 路由。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多