【问题标题】:How do you prevent Firefox extensions from modifying the page?如何防止 Firefox 扩展修改页面?
【发布时间】:2016-07-29 02:04:47
【问题描述】:

我们有一个带有富文本编辑器的页面。如果正在编辑的内容包含图像并且用户正在使用 Firefox,并且他们安装了 Pinterest 浏览器按钮,则以下 HTML 将添加到编辑器中富文本内容的末尾。您可以使用编辑器工具栏中的 Source 按钮在其中看到它,提交表单后,添加的 HTML 将包含在其中并发送到服务器。

<p><span style="border-radius: 2px; text-indent: 20px; width: auto; padding: 0px 4px 0px 0px; text-align: center; font: bold 11px/20px "Helvetica Neue",Helvetica,sans-serif; color: rgb(255, 255, 255); background: rgb(189, 8, 28) url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzBweCIgd2lkdGg9IjMwcHgiIHZpZXdCb3g9Ii0xIC0xIDMxIDMxIj48Zz48cGF0aCBkPSJNMjkuNDQ5LDE0LjY2MiBDMjkuNDQ5LDIyLjcyMiAyMi44NjgsMjkuMjU2IDE0Ljc1LDI5LjI1NiBDNi42MzIsMjkuMjU2IDAuMDUxLDIyLjcyMiAwLjA1MSwxNC42NjIgQzAuMDUxLDYuNjAxIDYuNjMyLDAuMDY3IDE0Ljc1LDAuMDY3IEMyMi44NjgsMC4wNjcgMjkuNDQ5LDYuNjAxIDI5LjQ0OSwxNC42NjIiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+PHBhdGggZD0iTTE0LjczMywxLjY4NiBDNy41MTYsMS42ODYgMS42NjUsNy40OTUgMS42NjUsMTQuNjYyIEMxLjY2NSwyMC4xNTkgNS4xMDksMjQuODU0IDkuOTcsMjYuNzQ0IEM5Ljg1NiwyNS43MTggOS43NTMsMjQuMTQzIDEwLjAxNiwyMy4wMjIgQzEwLjI1MywyMi4wMSAxMS41NDgsMTYuNTcyIDExLjU0OCwxNi41NzIgQzExLjU0OCwxNi41NzIgMTEuMTU3LDE1Ljc5NSAxMS4xNTcsMTQuNjQ2IEMxMS4xNTcsMTIuODQyIDEyLjIxMSwxMS40OTUgMTMuNTIyLDExLjQ5NSBDMTQuNjM3LDExLjQ5NSAxNS4xNzUsMTIuMzI2IDE1LjE3NSwxMy4zMjMgQzE1LjE3NSwxNC40MzYgMTQuNDYyLDE2LjEgMTQuMDkzLDE3LjY0MyBDMTMuNzg1LDE4LjkzNSAxNC43NDUsMTkuOTg4IDE2LjAyOCwxOS45ODggQzE4LjM1MSwxOS45ODggMjAuMTM2LDE3LjU1NiAyMC4xMzYsMTQuMDQ2IEMyMC4xMzYsMTAuOTM5IDE3Ljg4OCw4Ljc2NyAxNC42NzgsOC43NjcgQzEwLjk1OSw4Ljc2NyA4Ljc3NywxMS41MzYgOC43NzcsMTQuMzk4IEM4Ljc3NywxNS41MTMgOS4yMSwxNi43MDkgOS43NDksMTcuMzU5IEM5Ljg1NiwxNy40ODggOS44NzIsMTcuNiA5Ljg0LDE3LjczMSBDOS43NDEsMTguMTQxIDkuNTIsMTkuMDIzIDkuNDc3LDE5LjIwMyBDOS40MiwxOS40NCA5LjI4OCwxOS40OTEgOS4wNCwxOS4zNzYgQzcuNDA4LDE4LjYyMiA2LjM4NywxNi4yNTIgNi4zODcsMTQuMzQ5IEM2LjM4NywxMC4yNTYgOS4zODMsNi40OTcgMTUuMDIyLDYuNDk3IEMxOS41NTUsNi40OTcgMjMuMDc4LDkuNzA1IDIzLjA3OCwxMy45OTEgQzIzLjA3OCwxOC40NjMgMjAuMjM5LDIyLjA2MiAxNi4yOTcsMjIuMDYyIEMxNC45NzMsMjIuMDYyIDEzLjcyOCwyMS4zNzkgMTMuMzAyLDIwLjU3MiBDMTMuMzAyLDIwLjU3MiAxMi42NDcsMjMuMDUgMTIuNDg4LDIzLjY1NyBDMTIuMTkzLDI0Ljc4NCAxMS4zOTYsMjYuMTk2IDEwLjg2MywyNy4wNTggQzEyLjA4NiwyNy40MzQgMTMuMzg2LDI3LjYzNyAxNC43MzMsMjcuNjM3IEMyMS45NSwyNy42MzcgMjcuODAxLDIxLjgyOCAyNy44MDEsMTQuNjYyIEMyNy44MDEsNy40OTUgMjEuOTUsMS42ODYgMTQuNzMzLDEuNjg2IiBmaWxsPSIjYmQwODFjIj48L3BhdGg+PC9nPjwvc3ZnPg==") no-repeat scroll 3px 50% / 14px 14px; position: absolute; opacity: 0.85; z-index: 8675309; display: none; cursor: pointer; border: medium none; top: 520px; left: 1368px;">Save</span></p>

嵌入的背景图片是 pinterest 图标。这发生在 Windows 和 Mac 上,但仅在 Firefox 中。在 Chrome 或 Safari 中不会发生。我无法测试 IE11,因为按钮安装失败。

有没有办法防止插件修改富文本编辑器内容?或者,有没有办法专门告诉 pinterest 插件远离编辑器,甚至只是页面?

【问题讨论】:

标签: firefox ckeditor firefox-addon pinterest rich-text-editor


【解决方案1】:

简短的回答是,如果扩展程序愿意,您不能阻止 Firefox 插件修改您的网页。 Firefox 附加组件以浏览器的权限运行。因此,他们可以完全控制显示的内容、显示方式,甚至完全控制您的页面是否显示。您的问题本质上与“我可以阻止 Firefox 浏览器以 Firefox 想要显示的方式显示我的页面吗?”相同。

你必须接受这样一个事实,即它会做它选择做的任何事情。如果您希望您的网站与安装了此扩展程序的 Firefox 浏览器一起使用,您必须解决该扩展程序对您的网站所做的任何事情。

有多种可能的策略(不是一个包罗万象的列表):

  1. 联系 Pinerest 并将问题告知他们。听起来插件正在对您的网站造成伤害。这可能不是故意的。让他们提交错误。如果它影响您的网站,则可能是 影响他人。

  2. 让您的服务器检测输入中的附加 HTML 代码并自动将其删除。

  3. 为您的网页尝试不同的 HTML 结构,以尝试找到一种会导致扩展将代码放置在未包含在发送到服务器的数据中的位置。

    如果是我,我会好好看看 Pinterest 插件的源代码。像大多数 Firefox 附加组件一样,它是纯 JavaScript。您应该能够确定它用于选择将要插入的 HTML 代码放置在何处的标准。一旦你知道这一点,设计你的页面就应该相当容易,这样插件就不会干扰你关心的事情。为了节省您的搜索时间,该插件的 URL 目前是 here。您应该使用“将链接另存为”将该 .xpi 文件保存到某个位置。然后将.xpi文件扩展名更改为.zip。然后,您应该能够从包中提取附加组件的所有文件。这是一个普通的bootstrapped 插件。

【讨论】:

  • 1.试过这个,但他们的联系表格不允许我提交(也不允许我选择合适的产品)。我会再试一次,也许不包括html。 2. 这是我的后备方案,但希望有更好的东西,因为如果他们改变他们的 html 格式,它可能会中断。 3. 现在看看,希望他们有一些无证的keepaway标签..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多