Skip to content
← Back to rules

react/jsx-no-script-url 懸念

An auto-fix is available for this rule.

何をするか

javascript: URL の使用を禁止します。

なぜ問題なのか

javascript: で始まる URL は、危険な攻撃対象となる可能性があります。これは、<a href> のようなタグに、検証されていない出力を誤って含めてしまうことが簡単に起こるためです。その結果、セキュリティの穴が生じる恐れがあります。

React 16.9 以降では、javascript: で始まるすべての URL に対して警告が表示されるようになりました。

React 19 では、javascript: URL は完全に禁止されています。

このルールに対する不正なコードの例:

jsx
<a href="javascript:void(0)">テスト</a>

このルールに対する正しいコードの例:

jsx
<Foo test="javascript:void(0)" />

設定

このルールは以下のプロパティを持つ構成オブジェクトを受け入れます。

components

type: Record<string, array>

default: {}

チェック対象として追加するコンポーネント。

includeFromSettings

type: boolean

default: false

設定からコンポーネントを含めるかどうか。

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "plugins": ["react"],
  "rules": {
    "react/jsx-no-script-url": "error"
  }
}
bash
oxlint --deny react/jsx-no-script-url --react-plugin

参照