【问题标题】:How to convert userscript to Firefox add-on如何将用户脚本转换为 Firefox 插件
【发布时间】:2011-12-26 03:21:05
【问题描述】:

我正在尝试将 usescript 转换为 Firefox 插件,但它不起作用(它适用于除 Firefox 之外的所有现代浏览器)。我尝试了https://arantius.com/misc/greasemonkey/script-compiler.php,它转换了用户脚本及其工作,但插件在验证时失败,我无法在 Firefox 插件目录中提交它。

这是我的代码http://pastebin.com/mxnBqDxS

有没有简单的方法来创建 Firefox 插件,这个脚本在验证时不会失败?

【问题讨论】:

  • 您好弗拉基米尔,感谢您的回复。这是验证结果:pastebin.com/h8MAvHXq
  • 所有这些似乎都是警告,而不是错误。他们真的使验证失败还是你可以忽略它们并继续?如果是前者 - 哪个特定警告被认为是关键的?
  • 我可以提交我的插件,但它在 2-3 天后被 AMO 编辑拒绝。这是我从他们那里收到的电子邮件:pastebin.com/jQSGa4Jy 问题是我不知道如何解决上述问题。

标签: javascript firefox firefox-addon userscripts


【解决方案1】:

根据您的评论,扩展并没有被自动验证拒绝(这总是会产生许多没有实际影响的警告),而是被人工审阅者拒绝。审阅者认为您脚本中的以下行不安全:

button.innerHTML = wrapper.text;

但是审稿人错了,你应该回复邮件(你的回复将被发送到 amo-editors 邮件列表)指出:

  1. wrapper.text 不是网页或用户提供的一些文本。它是在你的扩展中硬编码的东西,它的可能值是预先知道的,不需要清理。

  2. 即使 if wrapper.text 是您从网页中获得的一些文本 - button 正在作为该网页的元素插入。这意味着由于不正确的清理而执行的任何 JavaScript 代码都以网页的权限执行。该网页没有获得比它已经拥有的更多的权限。

因此,虽然innerHTML 是安全问题的常见来源,但在这种情况下并非如此。

【讨论】:

  • 感谢 Wladimir,我给 AMO 编辑发了电子邮件,我的插件已经过初步审核,它在 Firefox 插件目录中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-18
相关资源
最近更新 更多