iOS 上的 javascript 除了在其框架内执行之外,是否还必须由 WebKit 框架下载?

发布于 2024-12-20 15:04:39 字数 455 浏览 0 评论 0原文

该协议规定:

3.3.2 内部使用应用程序不得下载或安装可执行代码。如果所有脚本、代码和解释器都打包在应用程序中并且未下载,则解释的代码只能在应用程序中使用。上述唯一的例外是由 Apple 内置 WebKit 框架下载和运行的脚本和代码。

它特别说“..由Webkit框架下载的代码”。

有谁知道对于使用 UIWebView 的本机应用程序来说,这是否意味着 Javascript 必须由 Webkit 自动下载,即作为用户单击外部 url 链接的结果。或者,如果通过创建我自己的服务器 HTTP 连接并自己下载脚本来下载脚本是可以接受的 - 但它们将在 Webkit 中执行(通过 UIWebView)?

我认为此限制是出于安全目的,那么安全性是否来自于将执行限制在 WebKit 内,而不是从哪里下载脚本?

我意识到除了苹果之外,不太可能有人能明确回答这个问题,但推测答案是非常受欢迎的。

谢谢

The agreement says this:

3.3.2 An Internal Use Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple's built-in WebKit framework.

It particular it says ".. code downloaded .. by Webkit framework".

Does anybody know if for a native app using UIWebView this means Javascript has to be downloaded automatically by Webkit i.e. as a consequence of the user clicking on an external url link. Or if it would be acceptable for the scripts to be downloaded by creating my own HTTP connection to a server and downloading them myself - but they would be executed within Webkit (via UIWebView) ?

I presume this restriction is for security purposes, so does the security come from limiting the execution to within WebKit, as opposed to where the scripts are downloaded from?

I realize its unlikely anybody can definitively answer this except Apple, but speculate answers are very welcome.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

永不分离 2024-12-27 15:04:39

Apple 所做的例外是基于 Webkit/UIWebView 的沙盒性质 - 实际上,它提供了一个“允许的”可编写脚本的环境,正是因为它的沙盒特性非常好。如果您提供 UIWebView,那么用户导航到一个站点,然后在浏览器中执行一些 Javascript,与您通过 NSURLConnection 或其他方式以编程方式获取一些 Javascript,然后将其加载到 UIWebView 中相比,这并没有任何真正的区别。重新加载 HTML 文件或使用“stringByEvaluatingJavaScriptFromString”。

The exception that Apple is making is based upon the sandboxed nature of Webkit/UIWebView - in effect, it provides an "allowed" scriptable environment precisely because it is so well sandboxed. If you provide a UIWebView, it doesn't make any real difference if the user navigates to a site that then executes some Javascript in the browser, versus you programmatically getting some Javascript via NSURLConnection or other way, and then loading that into the UIWebView be reloading an HTML file or using "stringByEvaluatingJavaScriptFromString".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文