我正在开发一个脚本扩展,类似于 Greasemonkey 或 Chrome 的内容脚本引擎。此扩展将允许脚本编写者执行非常危险的操作,例如访问本地文件。
如果我向公众发布这个扩展,我希望它能够警告新手用户,如果脚本将使用“危险”功能。我希望这个警告尽可能难以规避。
例如,扩展程序可以搜索受保护的字符串GM_openSQL_Connection
并警告用户——可能是这样的:
GM_openSQL_Connection
假设由于沙盒机制,基本网页将永远无法访问。同样,没有<script>
节点能够做到。
但是,脚本编写者仍然可以从上面绕过简单的搜索,例如:
eval (decodeURI ("GM_op%65nSQL_Connection (...);") )
所以问题是,一个邪恶的脚本编写者可以通过哪些方式来欺骗检查受限功能使用,我该如何防止这种恶作剧?
注意:错误警告是可以的。例如,如果脚本作者在其他静态字符串中使用文本“GM_openSQL_Connection”,那么他将不得不忍受(错误)警告。