1

当点击链接时,有什么方法可以让 JavaScriptapt-get install gimp在用户的计算机上运行,​​以便用户知道正在安装软件。

我试过用谷歌搜索它。

如果没有办法做到这一点,请说一天后,我将其标记为答案。

4

5 回答 5

3

在 ubuntu 上有链接快捷方式:

<a href="apt://gimp" title="apt://gimp" rel="nofollow">gimp</a>

但它不会自动安装,它只是启动包管理器

于 2013-03-27T09:32:57.077 回答
2

Few answers above mention that if it exists, then it will be unsafe. But the fact is that there is an existing solution already for ubuntu and its safe too.

The mechanism is called apturl. see here:

https://help.ubuntu.com/community/AptURL

https://wiki.ubuntu.com/AptUrl

It is supported by firefox, konqueror atleast. It needs "apturl" package to be installed(which is installed by default ). When user click on apt-url link as shown in answer above by @atrepp , then the defult package launcher will start to install with asking for appropriate authorization(password), as if you would have clicked in "Ubuntu Software Center". Its completely safe as much as you would have installed via "Ubuntu Software Center" or "apt-get" directly.

And i am confident that no such solution exists for RHEL or SuSE.

于 2013-05-14T04:48:42.967 回答
2

如果这是可能的,那将是一个巨大的安全问题!想象一下类似的链接,但运行类似rm -rf ~... 据我所知,浏览器中的 JavaScript 不支持创建子进程。

另一方面,Java 能够创建子进程(作为您的 apt-get),因此您可以为此使用(签名的)Java 小程序;在这种情况下,将提示用户授权小程序运行,以使他意识到潜在的安全风险。

于 2013-03-27T09:28:43.637 回答
2

如果你能做到这一点,我将永远不会使用互联网,因为它会充满垃圾邮件。

javascript 和所有客户端脚本的权限都非常有限,因此不可能编写 shell 命令

于 2013-03-27T09:29:16.533 回答
1

嗯,不,不能直接从 JavaScript 在客户端计算机上运行 shell 命令。当然有 JavaScript shell 函数,但它们仅限于它们可以做的事情。但是在任何情况下,Web 上的客户端代码都没有权限访问根级别的命令,例如 apt-get install。

您可能会编写一个 python/ruby/perl 脚本来执行此操作。让用户下载并手动执行。

除此之外,我很抱歉,伙计,这根本不可能(至少从我多年来在网上阅读的内容来看)。

于 2013-03-27T09:34:51.837 回答