如何阻止Firefox扩展修改页面?

时间:2016-07-29 02:04:48

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

我们有一个带有富文本编辑器的页面。如果正在编辑的内容包含图像且用户正在使用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 &quot;Helvetica Neue&quot;,Helvetica,sans-serif; color: rgb(255, 255, 255); background: rgb(189, 8, 28) url(&quot;data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzBweCIgd2lkdGg9IjMwcHgiIHZpZXdCb3g9Ii0xIC0xIDMxIDMxIj48Zz48cGF0aCBkPSJNMjkuNDQ5LDE0LjY2MiBDMjkuNDQ5LDIyLjcyMiAyMi44NjgsMjkuMjU2IDE0Ljc1LDI5LjI1NiBDNi42MzIsMjkuMjU2IDAuMDUxLDIyLjcyMiAwLjA1MSwxNC42NjIgQzAuMDUxLDYuNjAxIDYuNjMyLDAuMDY3IDE0Ljc1LDAuMDY3IEMyMi44NjgsMC4wNjcgMjkuNDQ5LDYuNjAxIDI5LjQ0OSwxNC42NjIiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+PHBhdGggZD0iTTE0LjczMywxLjY4NiBDNy41MTYsMS42ODYgMS42NjUsNy40OTUgMS42NjUsMTQuNjYyIEMxLjY2NSwyMC4xNTkgNS4xMDksMjQuODU0IDkuOTcsMjYuNzQ0IEM5Ljg1NiwyNS43MTggOS43NTMsMjQuMTQzIDEwLjAxNiwyMy4wMjIgQzEwLjI1MywyMi4wMSAxMS41NDgsMTYuNTcyIDExLjU0OCwxNi41NzIgQzExLjU0OCwxNi41NzIgMTEuMTU3LDE1Ljc5NSAxMS4xNTcsMTQuNjQ2IEMxMS4xNTcsMTIuODQyIDEyLjIxMSwxMS40OTUgMTMuNTIyLDExLjQ5NSBDMTQuNjM3LDExLjQ5NSAxNS4xNzUsMTIuMzI2IDE1LjE3NSwxMy4zMjMgQzE1LjE3NSwxNC40MzYgMTQuNDYyLDE2LjEgMTQuMDkzLDE3LjY0MyBDMTMuNzg1LDE4LjkzNSAxNC43NDUsMTkuOTg4IDE2LjAyOCwxOS45ODggQzE4LjM1MSwxOS45ODggMjAuMTM2LDE3LjU1NiAyMC4xMzYsMTQuMDQ2IEMyMC4xMzYsMTAuOTM5IDE3Ljg4OCw4Ljc2NyAxNC42NzgsOC43NjcgQzEwLjk1OSw4Ljc2NyA4Ljc3NywxMS41MzYgOC43NzcsMTQuMzk4IEM4Ljc3NywxNS41MTMgOS4yMSwxNi43MDkgOS43NDksMTcuMzU5IEM5Ljg1NiwxNy40ODggOS44NzIsMTcuNiA5Ljg0LDE3LjczMSBDOS43NDEsMTguMTQxIDkuNTIsMTkuMDIzIDkuNDc3LDE5LjIwMyBDOS40MiwxOS40NCA5LjI4OCwxOS40OTEgOS4wNCwxOS4zNzYgQzcuNDA4LDE4LjYyMiA2LjM4NywxNi4yNTIgNi4zODcsMTQuMzQ5IEM2LjM4NywxMC4yNTYgOS4zODMsNi40OTcgMTUuMDIyLDYuNDk3IEMxOS41NTUsNi40OTcgMjMuMDc4LDkuNzA1IDIzLjA3OCwxMy45OTEgQzIzLjA3OCwxOC40NjMgMjAuMjM5LDIyLjA2MiAxNi4yOTcsMjIuMDYyIEMxNC45NzMsMjIuMDYyIDEzLjcyOCwyMS4zNzkgMTMuMzAyLDIwLjU3MiBDMTMuMzAyLDIwLjU3MiAxMi42NDcsMjMuMDUgMTIuNDg4LDIzLjY1NyBDMTIuMTkzLDI0Ljc4NCAxMS4zOTYsMjYuMTk2IDEwLjg2MywyNy4wNTggQzEyLjA4NiwyNy40MzQgMTMuMzg2LDI3LjYzNyAxNC43MzMsMjcuNjM3IEMyMS45NSwyNy42MzcgMjcuODAxLDIxLjgyOCAyNy44MDEsMTQuNjYyIEMyNy44MDEsNy40OTUgMjEuOTUsMS42ODYgMTQuNzMzLDEuNjg2IiBmaWxsPSIjYmQwODFjIj48L3BhdGg+PC9nPjwvc3ZnPg==&quot;) 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>
&#13;
&#13;
&#13;

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

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

1 个答案:

答案 0 :(得分:0)

简短的回答是,无法阻止Firefox插件修改您的网页,如果扩展程序希望这样做的话。 Firefox加载项以浏览器的权限运行。因此,他们可以完全控制显示内容,显示方式,甚至完全显示页面。你的问题本质上与“我可以阻止Firefox浏览器以Firefox希望显示它的方式显示我的页面吗?”相同的问题。

你必须处理这样做的事实,即它会做任何选择做的事情。如果您希望您的网站使用安装了此扩展程序的Firefox浏览器,则必须解决扩展程序对您网站所做的任何操作。

有多种可能的策略(不是包罗万象的清单):

  1. 联系Pinerest并告知他们问题所在。听起来加载项会对您的网站造成伤害。这可能不是故意的。让他们提出错误。如果它影响您的网站,可能是 影响他人。
  2. 让您的服务器检测输入中的其他HTML代码,然后自动将其删除。
  3. 尝试使用不同的HTML结构为您的网页尝试找到一个导致扩展的代码,将代码放在某个地方但不会包含在发送到您服务器的数据中。

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