我有一个Android应用程序,它在隐藏的Web视图中运行我的代码(这是一个JS包)。我使用JS接口通过本机代码进行API调用。响应通过webview的evaluetJavascript方法发送回一个函数。这里的问题是某种程度上收到了恶意响应,该响应可能在我的Web视图中执行任意JS。在调用evaluateJavascript之前,我使用base-64编码结果,一旦到达JS,我就将其解码并解析JSON,然后它只是一个字符串值,将被进一步使用。
我有2个问题:
(1)由于我不在JS代码中的任何地方使用eval(),因此我的理解正确吗,即使代码通过也不会执行?
(2)我被要求仍然验证数据。有什么方法可以检测给定的字符串是否包含可执行的JS代码?我曾想寻找类似“;”()等字符,但担心我的数据可能包含括号,而字符串化的JSON仍会带有引号。我担心误报。对此有什么更好的方法? / p>