我在 Firefox 中运行 NoScript,每次尝试使用 Runnable Snippet 时,NoScript 都会询问我是否允许执行潜在的跨站点脚本。我可以提供一个正则表达式来绕过通知,但我希望确保它尽可能有针对性,以便实际的XSS 攻击无法通过(Stack Exchange 永远不会遇到这种攻击)。
我试过:
^https?://stackexchange\.com/questions/.*$
但我仍然收到异常。我应该改为定位吗http://stacksnippets.net
?
我也尝试过:
^https?://stacksnippets\.net.*$
哪个有效,但这是我能制作的最有针对性的 RegEx 吗?
答案1
可能有点偏执,但我想补充一点,即.net
第一个字符后面不允许有字母或点。如果有顶级域名.netmal
或.net.au
(比如有.com.au
),有人可能会去注册stacksnippets.netmal
/stacksnippets.net.au
并在那里运行他们的恶意软件。
因此类似于:
^https?://stacksnippets\.net([/?].*)?$
这将需要在基本 URL 之后紧接着一个/
或?
,以确保域名确实是 stacksnippets.net 而不是其他内容。