ソースを参照

fix: validate languages (#3638)

tags/0.6.4
YidaHu 1年前
コミット
7251748d59
コミッターのメールアドレスに関連付けられたアカウントが存在しません
1個のファイルの変更6行の追加0行の削除
  1. 6
    0
      web/i18n/server.ts

+ 6
- 0
web/i18n/server.ts ファイルの表示

@@ -46,6 +46,12 @@ export const getLocaleOnServer = (): Locale => {
languages = new Negotiator({ headers: negotiatorHeaders }).languages()
}

// Validate languages
if (!Array.isArray(languages) || languages.length === 0 || !languages.every(lang => typeof lang === 'string' && /^[\w-]+$/.test(lang))) {
console.error(`Invalid languages: ${languages}`)
languages = [i18n.defaultLocale]
}

// match locale
const matchedLocale = match(languages, locales, i18n.defaultLocale) as Locale
return matchedLocale

読み込み中…
キャンセル
保存