Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 类似Facebook的按钮导致网站不安全_Javascript_Facebook_Security_Twitter - Fatal编程技术网

Javascript 类似Facebook的按钮导致网站不安全

Javascript 类似Facebook的按钮导致网站不安全,javascript,facebook,security,twitter,Javascript,Facebook,Security,Twitter,我用Volusion建立了一个店面网站(这让人沮丧),他们只允许控制他们想要你控制的文件。这使得它有点棘手,以找到变通办法定制网站,以及获得搜索引擎优化正是你想要的。我已经在网站上实现了类似Facebook的/share和Twitter按钮。为了使按钮在所有页面上的位置保持一致(我希望它在页面上),将其放置在模板页面中;否则我将不得不把它放在每一页上(而且有很多) 我遇到的问题是,由于按钮被放在模板文件中,需要安全的页面(签出、帐户等)已被破坏,不再安全。我已经找到了一些方法来禁用按钮的java

我用Volusion建立了一个店面网站(这让人沮丧),他们只允许控制他们想要你控制的文件。这使得它有点棘手,以找到变通办法定制网站,以及获得搜索引擎优化正是你想要的。我已经在网站上实现了类似Facebook的/share和Twitter按钮。为了使按钮在所有页面上的位置保持一致(我希望它在页面上),将其放置在模板页面中;否则我将不得不把它放在每一页上(而且有很多)

我遇到的问题是,由于按钮被放在模板文件中,需要安全的页面(签出、帐户等)已被破坏,不再安全。我已经找到了一些方法来禁用按钮的javascript,这样它就不会运行,从而使它再次安全,但我没有找到足够的方法。我可能用了错误的关键词,甚至是错误的想法来搜索

如果您能帮助禁用某些页面上的Facebook和Twitter按钮,甚至其他解决方法,我们将不胜感激


谢谢大家!

如果您在安全页面(ssl)上,是否要签入javascript

另一种方法是,如果您使用的是非ssl,则可以只运行脚本:

if(document.location.protocol === 'http:') {
  // run your script
}
编辑: 如果您使用此代码段(来自facebook网站),则不会出现ssl警告,因为您没有使用协议(//connect.facebook…)


(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/de#de/all.js#xfbml=1&appId=106146976149656”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);

如果您不是这样做的,请粘贴呈现fb按钮的方式

默认类按钮代码应在安全或不安全页面上工作。这是通过启动Facebook包含的JS而不是http://来完成的


您的代码是什么样子的?

如果以下问题无法回答您的问题,请发布您的渲染代码。但通常情况下,问题最可能的原因是指向buttom图像的链接硬编码为“http://.../your_image.gif". 这会导致页面不安全的警告,因为http链接未加密

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


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

您如何包括类似Facebook的按钮?如果是iframe版本,则需要切换将iframe拉过来的协议,以匹配用户使用的协议(请参阅此处和Now78的答案)-如果是XFBML版本,则如果您没有通过错误的协议加载Javascript SDK,则应该已经自动发生这种情况(但示例代码和文档包含一个片段,以包含与协议相关的信息)我对javascript比较陌生。我如何用facebook激活码实现if语句?facebook激活码://你使用的脚本不可能有ssl警告。至少不是通过facebook按钮!!!同意,除非手动包含一些其他资源,或者如果你使用类似iframe的插件In如果不使用fb btn,请不要使用
,twitter btn可能有问题。以下是我呈现fb btn的方式:与他们给我的方式相同。这是标记而不是javascript,它的标记来自facebook而不是twitter。如果从twitter按钮页面复制twitter按钮,则不应该存在ssl问题。这是活动我从他们那里收到的代码:(函数(e,a,f){var c,b=e.getElementsByTagName(a)[0];if(e.getElementById(f)){return;}c=e.createElement(a);c.id=f;c.src=“//connect.facebook.net/en_US/all.js#xfml=1”;b.parentNode.insertBefore(c,b)}(文档,“脚本”,“facebook jssdk”);
if(document.location.protocol === 'http:') {
  // run your script
}
 <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>