像按钮这样的Facebook正在导致网站不安全

时间:2012-11-29 15:58:01

标签: javascript facebook security twitter

我用Volusion构建了一个店面网站(令人沮丧),他们只允许控制他们想要你控制的文件。这使得找到自定义站点的解决方法以及在您想要的地方获取SEO变得有点棘手。我在网站上实现了Facebook / share和Twitter按钮。为了使按钮的位置与所有页面保持一致(我想要它),将它放在模板页面中;否则我不得不把它放在每一页上(而且它们中有很多)。

我遇到的问题是,由于按钮被放置在模板文件中,因此需要安全的页面(结帐,帐户等)已经受到损害并且不再安全。我已经搜索了禁用按钮的javascript的方法,以便它不会运行,从而使其再次安全,但我已经做得很短。我可能一直在搜索错误的关键字甚至错误的想法。

任何帮助禁用某些网页上的Facebook和Twitter按钮甚至是其他解决方法都将非常感激。

谢谢!

3 个答案:

答案 0 :(得分:1)

如果您在安全页面(ssl)上,您想要检查javascript吗?

document.location.protocol === 'https:'

如果您使用的是非ssl,则可以运行您的脚本:

if(document.location.protocol === 'http:') {
  // run your script
}

编辑: 如果您使用此片段(来自Facebook网站),则应该没有ssl-warning,因为您不使用协议(//connect.facebook ...)

 <div id="fb-root"></div>
 <script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/de_DE/all.js#xfbml=1&appId=106146976149656";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

如果不这样做,请粘贴渲染fb按钮的方式

答案 1 :(得分:0)

默认的Like按钮代码应该适用于安全或不安全的页面。这是通过启动Facebook包含的JS而不是http://来完成的。

您的代码是什么样的?

答案 2 :(得分:0)

如果以下内容无法解答您的问题,请发布您提交的代码。但一般来说,最有可能的原因是你的问题是指向那些硬编码为“http://.../your_image.gif”的buttom图像的链接。由于http链接未加密,这会导致页面不安全的警告。

为了解决这个问题,您需要将正确的url方案硬编码到映像源中,或者动态确定运行时使用的url方案(http或https),并在映像URL中使用此方案。

例如,如果您的页面是在HTTPS下,那么图像源必须是“https://.../your_image.gif”,这不会生成任何警告,因为整个页面都是安全的。如果您使用http前缀而不是https,则会收到警告。