开启此功能后,会自动将指向外部 JavaScript 库的 URL 改写为 Cloudflare 托管的库。此更改可提升安全性与性能,并降低注入恶意代码的风险。
当前该改写操作支持托管在 polyfill.io 上的 polyfill JavaScript 库。
开启后,Cloudflare 会检查经 HTTP(S) 代理的流量中带有 src 属性的 script 标签,若该属性指向可能不安全的服务,则将 src 值替换为 cdnjs ↗ 上托管的等效链接。
改写后的 URL 会保留原始 URL 方案(http:// 或 https://)。
对于 polyfill.io URL 改写,polyfill 库的所有 3.* 版本在 /v3 路径下均受支持。此外,/v2 路径也受支持。若在 /v3 路径下请求未知版本,Cloudflare 会将 URL 改写为使用该库最新的 3.* 版本(当前为 3.111.0)。
所有 Cloudflare 套餐均提供此功能,并在 Free 套餐上默认开启。
-
在 Cloudflare 仪表板中,前往 Security Settings(设置) 页面。
Go to Settings ↗ -
开启或关闭 Replace insecure JavaScript libraries(替换不安全的 JavaScript 库)。
发出类似如下的 PATCH 请求:
Required API token permissions
At least one of the following token permissions is required:Zone Settings Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/settings/replace_insecure_js" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"value": "on"
}'由于 pages.dev zones 使用 Free 套餐,这些 zone 上 Replace insecure JavaScript libraries 功能默认开启,且无法关闭。