fix: harden SSRF protection for unauthenticated and user-level endpoints

- Add ValidateURLWithFetchSetting check before fetching MJ image URLs
  in RelayMidjourneyImage (unauthenticated endpoint)
- Add ValidateURLWithFetchSetting check before fetching video URLs
  in VideoProxy (upstream-controlled URL)
- Enable ApplyIPFilterForDomain by default to prevent DNS rebinding
  bypass of SSRF protection
- Elevate FetchModels endpoint from AdminAuth to RootAuth
- Update frontend: mark domain IP filtering as recommended, update
  description and i18n translations (zh-CN/zh-TW/en/fr/ja/ru/vi)
This commit is contained in:
CaIon
2026-03-31 17:57:47 +08:00
parent 5238f279db
commit 20399d3c8f
12 changed files with 34 additions and 18 deletions
+2 -2
View File
@@ -919,7 +919,7 @@
"在此输入系统名称": "システム名称を入力してください",
"在此输入隐私政策内容,支持 Markdown & HTML 代码": "プライバシーポリシーのコンテンツを入力してください。MarkdownとHTMLコードに対応しています",
"在此输入首页内容,支持 Markdown & HTML 代码,设置后首页的状态信息将不再显示。如果输入的是一个链接,则会使用该链接作为 iframe 的 src 属性,这允许你设置任意网页作为首页": "ホームのコンテンツを入力してください。MarkdownとHTMLに対応しています。設定後は、ホームのステータス情報が表示されなくなります。リンクを入力した場合は、そのリンクがiframeのsrc属性として使用され、任意のWebページをホームとして設定できます",
"域名IP过滤详细说明": "ドメインIPフィルタリングの詳細説明",
"域名IP过滤详细说明": "推奨:有効にすると、ドメインをDNS解決し、解決されたIPがプライベートアドレスかどうかを確認します。DNSリバインディング攻撃によるSSRF防護の回避を効果的に防止できます。注意:ドメインは複数のIPv4/IPv6アドレスに解決される場合があります。IPフィルタリストを設定している場合は、これらのアドレスをカバーしていることを確認してください。",
"域名白名单": "ドメインホワイトリスト",
"域名黑名单": "ドメインブラックリスト",
"基本信息": "基本情報",
@@ -1088,7 +1088,7 @@
"密钥预览": "APIキーのプレビュー",
"对于官方渠道,new-api已经内置地址,除非是第三方代理站点或者Azure的特殊接入地址,否则不需要填写": "公式チャネルの場合、new-apiにはベースURLが組み込まれているため、サードパーティのプロキシサイトやAzureの専用のエンドポイントでない限り、入力する必要はありません。",
"对免费模型启用预消耗": "Enable pre-consumption for free models",
"对域名启用 IP 过滤(实验性": "ドメインのIPフィルタリングを有効にする(実験的",
"对域名启用 IP 过滤(推荐开启": "ドメインのIPフィルタリングを有効にする(推奨",
"对外运营模式": "公開運用モード",
"对象清理规则": "オブジェクトプルーニングルール",
"导入": "インポート",