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

参考资料