Javascript 类似Facebook的按钮导致网站不安全
我用Volusion建立了一个店面网站(这让人沮丧),他们只允许控制他们想要你控制的文件。这使得它有点棘手,以找到变通办法定制网站,以及获得搜索引擎优化正是你想要的。我已经在网站上实现了类似Facebook的/share和Twitter按钮。为了使按钮在所有页面上的位置保持一致(我希望它在页面上),将其放置在模板页面中;否则我将不得不把它放在每一页上(而且有很多) 我遇到的问题是,由于按钮被放在模板文件中,需要安全的页面(签出、帐户等)已被破坏,不再安全。我已经找到了一些方法来禁用按钮的javascript,这样它就不会运行,从而使它再次安全,但我没有找到足够的方法。我可能用了错误的关键词,甚至是错误的想法来搜索 如果您能帮助禁用某些页面上的Facebook和Twitter按钮,甚至其他解决方法,我们将不胜感激Javascript 类似Facebook的按钮导致网站不安全,javascript,facebook,security,twitter,Javascript,Facebook,Security,Twitter,我用Volusion建立了一个店面网站(这让人沮丧),他们只允许控制他们想要你控制的文件。这使得它有点棘手,以找到变通办法定制网站,以及获得搜索引擎优化正是你想要的。我已经在网站上实现了类似Facebook的/share和Twitter按钮。为了使按钮在所有页面上的位置保持一致(我希望它在页面上),将其放置在模板页面中;否则我将不得不把它放在每一页上(而且有很多) 我遇到的问题是,由于按钮被放在模板文件中,需要安全的页面(签出、帐户等)已被破坏,不再安全。我已经找到了一些方法来禁用按钮的java
谢谢大家! 如果您在安全页面(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>