Google Ads不支持HTTPS。有哪些替代方案?

17

众所周知,Google Ads不支持HTTPS,但由于我将用户会话存储在令牌/cookie中,因此我需要加密这些信息...... 至少可以保护我的最终用户免受黑客攻击。

我的选择是什么? 我相信有人之前也遇到过这个问题。 可能有效的想法包括:

  • 更改如何进行网站成员资格
  • 使用AdSense之外的其他东西(MSN?其他任何人)
  • 向Google抱怨如果启用AdSense则无法跟踪我的用户
  • 找到一种不同的方式来赚取我的网站(即更改我的业务模式)

相关:在我的网站上放置第三方广告之前,我应该注意哪些风险? - makerofthings7
这个问题需要更新。它还适用吗? - theMayer
@rmayer06 - 你是什么意思?Google现在是否通过HTTPS提供广告服务? - makerofthings7
我不知道,但它已经快三年了,在这个领域几乎是一个永恒的时间... - theMayer
作为一名工程师,我通常发现解决问题的最佳方法不是尝试重新设计别人的系统以适应你的限制,而是重新设计你的系统以适应他们的系统。为什么需要向广告传递安全令牌? - theMayer
1
@rmayer06 我不需要向广告传递令牌。如果我在所有地方使用HTTPS,而广告使用HTTP,则Web浏览器将在每个页面上向最终用户发出“混合内容警告”。HTTPS全面防止我的会话cookie被盗。所有这些都是为了保护我的主要网站并获得广告收入。否则,我只能在登录时使用HTTPS,其他地方使用HTTP。 - makerofthings7
5个回答

5
如果您使用此URL调用AdSense,会发生什么情况?
https://pagead2.googleadservices.com/pagead/show_ads.js

与其

http://pagead2.googlesyndication.com/pagead/show_ads.js

看起来它正在传递相同的脚本,您只需要检查它是否能够检索页面内容以提供上下文广告。

这是未记录的。在经典URL中添加“s”会导致证书错误,因为证书域为*.googleadservices.com,因此我提出的最终URL。当然,这还没有经过测试,但我很想知道它是否有效。

编辑:内容已传送,但我无法确定是否收到任何警告,因为我的测试网站上的证书不受信任:https://uandco.net/

编辑:我现在在同一URL上使用真正的证书,但浏览器会报告有不安全的项目。这是因为即使从其https URL调用,adsense脚本也会生成不安全的http调用其他脚本和iframes。


+1 希望它能够正常工作。如果有人在赏金到期之前可以测试和验证它,我会授予您和测试者(如果我可以分配赏金)...今天我很忙,无法测试。 - makerofthings7
看到我的编辑了吗,我无法进一步测试,但我担心第一个被调用的JS正在生成对其他HTTP(未安全)脚本和/或iframe的调用... - Capsule
我会为您提供一份证书...请通过我的用户名@gmail.com与我联系...将我的StackOverflow名称替换为我的用户名。 - makerofthings7
我将授予您所有帮助的赏金,因为仍然没有答案或可行的替代方案。不过,您的解决方案似乎在IE上运行良好。 - makerofthings7
谢谢您的奖励,但很抱歉这不起作用。由于Google获取了 *.googleadservices.com 证书,我们可以期待在不久的将来获得完整的SSL支持。我双手合十;) - Capsule

4
我为客户网站使用的解决方案是从AdSense迁移到DoubleClick for Publishers小企业版。这是另一个由谷歌运行的系统,即使您不使用它来管理广告活动,它也会返回到您的AdSense帐户来提供广告。
谷歌会为您提供代码,但它使用一个“万能插入”来操作HTTPS或HTTP,因此该代码适用于所有情况。
<script type='text/javascript'>
    (function() {
        var useSSL = 'https:' == document.location.protocol;
        var src = (useSSL ? 'https:' : 'http:') +
            '//www.googletagservices.com/tag/js/gpt.js';
        document.write('<scr' + 'ipt src="' + src + '"></scr' + 'ipt>');
   })();
</script>

来源:http://support.google.com/dfp_sb/bin/answer.py?hl=en&answer=143694

本文介绍了DoubleClick for Publishers Small Business(DFP SB)广告标签的使用方式,以及如何将其添加到网站中。要使用DFP SB广告标签,您需要在DFP SB帐户中创建一个广告标签,然后将标签代码复制并粘贴到您网站的HTML代码中。这将使您能够轻松地控制网站上的广告投放和收入。

1
我一直在尝试这个选项,到目前为止,这是我找到的最好的选择。回退到Adsense似乎并不完全支持HTTPS,因为偶尔会发出非HTTPS请求。同时,如果允许文本广告并且不强制使用图像广告,则似乎效果最佳。 - heyrolled

3

选项3没有任何作用,选项4可能需要大量工作,选项2...AdSense仍然是王者。

这就只剩下选项1了——在我看来最简单的选项。你使用任何框架吗?

编辑:另一个选项是继续通过HTTP提供服务,并处理各种浏览器错误和警告。

当我写原始回复时,我考虑使用类似Open ID的东西,但再次思考后,我不确定那对你有任何帮助。


我正在使用ASP.NET Membership API。目前它与WIF接口,我使用ADFS和自己的STS提供程序。 - makerofthings7
在这种情况下,您将如何实现会员资格? - makerofthings7
很难在没有更多关于你现在正在做什么的细节的情况下进行判断。此外,您是否考虑过仅通过HTTP提供广告?您将获得浏览器错误,但这可能并不那么糟糕。 - Radu
如果我想保持访问者对我的网站的吸引力,那么浏览器错误绝对不是一个好的解决方案。像StackOverflow这样的网站肯定有办法在HTTPS上提供广告赞助服务。 - makerofthings7

2

0

只是穷人的解决方案:用所有AdSense内容打开一个新的HTTP窗口...

是的,这很糟糕,但用一点JS魔法实现应该并不太困难。

敬礼。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接