# 通配符 URL 检查器具有硬编码的协议允许列表

**URL:** https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414
**Category:** Bug
**Created:** [2019年十二月31日 07:30 UTC](https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414 "2019-12-31T07:30:16Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![blattersturm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blattersturm/32/76134_2.png) [@blattersturm](https://meta.discourse.org/u/blattersturm)
#### Post date: [2019年十二月31日 07:30 UTC](https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414/1 "2019-12-31T07:30:16Z")

</div>

自以下提交以来：

> <https://github.com/discourse/discourse/commit/d8360b4c82ca34a5c570a4af28b628f68fb23908#diff-cafbd2eee0eb3198218bc6b0ef1c0fa0R4>

添加了一个硬编码的允许协议列表，忽略了我们在管理界面中配置的内容：

> <https://github.com/discourse/discourse/blob/d8360b4c82ca34a5c570a4af28b628f68fb23908/app/services/wildcard_url_checker.rb#L4>

 ![](https://global.discourse-cdn.com/meta/original/3X/3/a/3a58312b0775ad539aeadf9fc3e365052cfe54c4.png)

……导致任何尝试使用 `fivem://accept-auth` 作为重定向 URI 创建新用户 API 密钥的请求都会返回 403 错误，且 `/logs` 或最终用户的屏幕上没有任何相关信息。

---

<div class="post-metadata">

### Author: ![rishabh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rishabh/32/179446_2.png) [@rishabh](https://meta.discourse.org/u/rishabh)
#### Post date: [2019年十二月31日 09:08 UTC](https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414/2 "2019-12-31T09:08:51Z")

</div>



---

<div class="post-metadata">

### Author: ![rishabh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rishabh/32/179446_2.png) [@rishabh](https://meta.discourse.org/u/rishabh)
#### Post date: [2019年十二月31日 09:10 UTC](https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414/3 "2019-12-31T09:10:37Z")

</div>

您好，

感谢您向我们反馈此问题，我们将尽快安排人员查看。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2020年一月2日 02:18 UTC](https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414/9 "2020-01-02T02:18:45Z")

</div>



---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2020年一月2日 02:22 UTC](https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414/11 "2020-01-02T02:22:58Z")

</div>

感谢您的反馈，我们正在研究修复方案，以便在检测到 `allowed_user_api_auth_redirects` 列表中包含 `fivem` 时自动将其加入白名单。

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [2020年一月2日 11:51 UTC](https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414/13 "2020-01-02T11:51:32Z")

</div>

我在此处提交了一个 PR：

> <https://github.com/discourse/discourse/pull/8651>
>
> This is required for people using apps with custom protocols. We still verify th…e entire URL (including protocol) against the site setting value.
> 
> Refactored wildcard\_url\_checker so that it always returns a boolean, rather than sometimes returning a regex match.

我们会将完整 URL（包括协议）与站点设置列表进行比对，因此我认为没有必要单独设置白名单。

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [2020年一月2日 16:53 UTC](https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414/14 "2020-01-02T16:53:07Z")

</div>

现已合并。@blattersturm 如果您更新到最新版本，问题应已解决。

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [2020年一月6日 18:00 UTC](https://meta.discourse.org/t/wildcard-url-checker-has-hardcoded-protocol-allow-list/137414/15 "2020-01-06T18:00:11Z")

</div>

本主题在 4 天后自动关闭。不再允许新回复。
