【问题标题】:Mysterious div being appended to hyperlinks神秘的 div 被附加到超链接
【发布时间】:2016-02-11 21:40:52
【问题描述】:

我们运行一个 Ruby on Rails 3.2 Web 应用程序,它使用标准的 Rails 和 jquery 组合。

最近,我们注意到我们的生产代码中出现了一个奇怪的 div 元素。它似乎只在我们使用包含超链接的字符串渲染视图时才会出现。

这是一个例子:

我们的视图中有一个字符串,我们希望将其呈现为 HTML:

"Try to search <a href='/search?q=hiring'>hiring</a>"

当我们在生产环境中渲染页面时,我们会得到以下信息:

"Try to search <a href='/search?q=hiring'>hiring</a><div style="display: none;"><a href="azarvuttcexyytzq.html" id="qqqqtra" rel="file">trufarwdstrzyzdyw</a></div>."

我们不确定原因,但以下 div 被附加到我们的链接中:

<div style="display: none;"><a href="azarvuttcexyytzq.html" id="qqqqtra" rel="file">trufarwdstrzyzdyw</a></div>

奇怪的是我们不认为文件azarvuttcexyytzq.html存在于我们的服务器上,而且我们还发现"file"是不可接受的超链接的关系属性的 rel 值。

那么,这个 div 是从哪里来的呢?

一种想法是它来自我们系统中的某个分析库,因为我们使用的是 Google Analytics。但我们似乎无法确认或排除这个想法。

有谁知道导致这种行为的库?

任何帮助或见解将不胜感激。

【问题讨论】:

  • 如果您在开发中运行应用程序会发生什么?还是生产,但在本地?服务器的 HTML 输出是什么:在应用任何 Javascript 之前。
  • 我们还没有在开发中复制它。我会尝试在本地运行的生产环境中重现。
  • 您是否在不同的计算机上尝试过不同的浏览器(没有任何浏览器插件)?
  • 是的,我们已经在不同的浏览器中验证了它,并禁用了插件。它仍然会发生。
  • 当我们预编译我们的资产并在本地以生产模式运行应用程序时,它不会出现。

标签: javascript jquery html ruby-on-rails


【解决方案1】:

如果没有开发人员通过在您的应用程序中附加带有随机超链接的div 来完成此操作(有意或无意地),那么您的应用程序服务器、某些库或您正在使用的 gem 很可能受到损害。最好对您的代码/服务器进行审核,并确保您使用的是所有 gem 和库的原始版本,并且您的应用代码中不包含任何恶意代码。

【讨论】:

    【解决方案2】:

    我们遇到了完全相同的问题,虽然是间歇性的,在我们的案例中是 Distil 网络注入。为了验证我们将 Distil 用于该站点,它的作用就像一个魅力! 虽然,还没有找到如何让它与 Distil 一起工作,但如果/当我们这样做时会更新答案

    【讨论】:

      【解决方案3】:

      我们遇到了同样的问题,我们在 Distil 和其他 cmets 后面的应用程序。 如果您使用 Distil,请阅读以下内容: https://help.distilnetworks.com/hc/en-us/articles/235705127-Optimizing-Honeypot-Links-for-Pages-with-Inline-JavaScript

      简而言之: 在页面顶部附近(以及 JS 上方)添加以下注释以强制在此处进行 Distil 注入: -–> 您还可以添加任何其他自定义,一个独特的注释,Distil 可以使用它来注入蜜罐链接代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-03
        • 1970-01-01
        • 1970-01-01
        • 2017-07-22
        • 2022-07-08
        • 2015-02-15
        • 1970-01-01
        • 2017-10-12
        相关资源
        最近更新 更多