众所周知,Google Ads不支持HTTPS,但由于我将用户的会话存储在不记名令牌/cookie 中,因此我觉得有必要加密此信息……至少可以保护我的最终用户免受黑客攻击.
我的选择是什么?我敢肯定,以前有人遇到过这种情况。可能有效的想法包括
- 改变我做网站会员的方式
- 使用 AdSense 以外的其他东西(MSN?,其他任何人)
- 向 Google 抱怨如果 AdSense 开启,我将无法跟踪我的用户
- 寻找一种不同的方式来通过我的网站获利(也就是改变我的商业模式)
如果您使用此 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 脚本,也会对其他脚本和 iframe 生成不安全的 http 调用。
我为客户网站使用的答案是从 AdSense 迁移到 DFP 广告管理系统小型企业。这是另一个 Google 运行系统,即使您不使用它来管理广告活动,它也会退回到您的 AdSense 帐户来提供广告。
Google 为您提供代码,但它使用“包罗万象”的代码插入方式,无论 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
选项 3 不会做任何事情,#4 可能需要做很多工作,#2.. AdSense 仍然是王道。
这留下了选项 1 - 我认为最简单的选项。你在使用任何框架吗?
编辑:另一种选择是继续通过 HTTP 为它们提供服务并处理各种浏览器错误和警告。
当我写原始回复时,我正在考虑使用 Open ID 之类的东西,但转念一想,我不确定这会对你有什么帮助。
AdSense 现在支持 HTTPS。只需删除广告代码的“http:”部分即可。
只是穷人的解决方案:打开一个包含所有 AdSense 内容的新 HTTP 窗口......
是的,它很臭,但是用一点 JS 魔法来实现应该不会太难。
问候。