安全页面上的百度地图实现

时间:2016-03-08 18:40:38

标签: security dictionary baidu

我们正在为中国网站提供安全的商店定位页面,但问题是百度网址 https://api.map.baidu.com/api?v=1.4&ak=xxxxxx会自动将自己重定向到http网址。

当我在浏览器中点击上面的网址“https://api.map.baidu.com/ ..”时,会显示以下代码 -

(function(){ window.BMap_loadScriptTime = (new Date).getTime();      
document.write('<script type="text/javascript"
src="http://api.map.baidu.com/getscript?
v=1.4&ak=xxxx&services=&t=20150522093217"></script>');})();

直接使用此网址“http://api.map.baidu.com/getscript?v=1.4&ak=xxxx&services=&t=20150522093217”,然后可通过https访问该网址,但其他问题即将开始 -

阻止加载混合活动内容“http://api.map.baidu.com/getmodules?v=1.4&mod=map,scommon,mapclick,oppc,navictrl,control”  已阻止加载混合活动内容“http://api.map.baidu.com/getmodules?v=1.4&mod=marker,tile

直到现在我找到了一个博客 - 来源:https://groups.google.com/forum/#!topic/angular/mkN2-nuMSfY 提到有一些单独的API网址可以通过https实现API,例如 - https://sapi.map.baidu.com/但是 此解决方案无效,无法在百度网站上找到与此相关的任何文档。

如果有人通过https实施了百度,请为此提供帮助。

1 个答案:

答案 0 :(得分:2)

所以基本上百度地图版本1.4不支持安全URL。所以更新代码以包含版本2.0

https://api.map.baidu.com/api?v=2.0&ak=xxxxxx&s=1

我做出的其他改变

  • 参数's = 1'附加到API网址。
  • 将服务器IP放入列入白名单的Ips中作为浏览器密钥
  • 所有iframe,脚本和图片网址都不得以http。
  • 开头