链接坐标[置顶] 如何加强在线地图瓦片链接的安全性

这两天一直在研究链接坐标之类的问题,下午正好有机会和大家分享一下.

    

     背景:

        目前搜狗舆图的舆图瓦片的链接情势如:http://p2.go2map.com/seamless1/0/174/718/2/0/405_149.png。空间上相邻的瓦片其链接的差异在于x,y坐标相差1。

        用简单的函数关系表现就是:

                f(x,y) = link/x_y.png

                f(x+1, y) = link/x+1_y.png

                f(x, y+1) = link/x_y+1.png

        百度舆图、谷歌舆图也是雷同做法。

        

    

    问题:

        该链接计划的问题在于,其他公司或个人可以很方便地抓取、应用所有舆图瓦片。比如要抓取北京市某个缩放级别上的瓦片,只需要找到该级别下北京市左下角和右上角的瓦片坐标,然后每次坐标递增1即可很方便地失掉区域中所有瓦片对应的链接,从而抓到整个北京市的图片。

        

    

    解决计划:

    每日一道理
漫漫人生路,谁都难免会遭遇各种失意或厄运。在凄风苦雨 惨雾愁云的考验面前,一个强者,是不会向命运低头的。风再冷,不会永远不息;雾再浓,不会经久不散。风息雾散,仍是阳光灿烂。

        关键在于打破空间上相邻的瓦片的链接相关性,使之没法猜测出相邻瓦片的链接。

        用简单的函数关系表现就是:

                g(x,y) = link/a.png

                g(x+1, y) = link/b.png

                g(x, y+1) = link/c.png

        最简单的方法就是对链接整体加密(变型),使之不体现坐标的数据。退一步的方法是只对坐标信息加密(变型),比如应用简单的循环位移和掩码。

        有如:

                g(x,y) = link/h(x,y).png

                h(x,y) = ((x << 32| y) <<< 10) & MASK.

        加密(变型)的方法比拟开放,关键在于保证链接和坐标的一一对应,并且有较好的隐蔽性。

        

    

    收益:

        其他公司或个人抓取某个区域的在线舆图瓦片变得困难,或者即便抓取到区域内所有瓦片也没法应用----因为没有获得瓦片的空间位置信息。

       

文章结束给大家分享下程序员的一些笑话语录: 某程序员对书法十分感兴趣,退休后决定在这方面有所建树。花重金购买了上等的文房四宝。一日突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风 范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:hello world.

你可能感兴趣的:(安全)