JavaScript Fiddler 代码安全控制建议 [已关闭]

javascript fiddler code security controls suggestions [closed]

提问人:Aby 提问时间:11/11/2023 最后编辑:Aby 更新时间:11/11/2023 访问量:26

问:


想改进这个问题吗?更新问题,使其仅通过编辑这篇文章来关注一个问题。

8天前关闭。

我正在开发一个像 jsfiddle.net 一样的 javascript 小提琴手(开发、测试和共享工具),但具有特定的操作环境。最终必须执行输入的 javascript - 我正在使用 eval('$js') 来执行。

如何防止恶意代码潜入并破坏该工具(或共享链接的任何人)?

我目前有一个代码嗅探器,可以查找一些被禁止的关键字:、、、**windowXMLHttpRequestActiveXObjectaddEventListenersetRequestHeaderappendChildsetIntervalsetTimeoutcreateElementinnerHTMLouterHTMLevalFunctionfunctionfireEventdispatchEventcreateEventajaxPostremoveChildreplaceChildaddPanelEventspreventDefaultstopPropagationlocationpushStatefetchlocalStoragesessionStoragecookieindexedDBsubmit

const isMalicious = maliciousPatterns.some(pattern => js.includes(pattern));

我在页面上还有一个 content-security-policy 标题:

header("Content-Security-Policy: "
                ."default-src 'unsafe-eval' $allowedSites 'nonce-$nonce'; "
                ."style-src 'self' 'unsafe-inline' $styleSites; "
                ."img-src 'self' data: $imgSites; "
                ."connect-src 'self' data:; "
                ."script-src 'self' 'unsafe-inline' 'unsafe-eval' $scriptSites");

...我偶尔会使用nonce:<div contenteditable ... nonce='$nonce'>....

我还应该注意哪些其他事情?

jsfiddle 或 codepen 会应用哪些东西来避免问题?

** 我不确定如何能够轻松跟上未来的新语言更新。

JavaScript 安全性

评论

0赞 Aby 11/11/2023
不知道为什么这个问题被关闭了 - 有谁知道一个更好的论坛来问这类问题?
0赞 user1432181 11/11/2023
看看 HTML5 Sandbox (learn.microsoft.com/en-us/previous-versions/msdn10/...) 和 stackoverflow.com/questions/21218857/...

答: 暂无答案