寄生虫程序的设计思路

寄生虫程序特点就是自己什么存储都不做,都让别人去做,当然了,前提条件是别人允许,只不过寄生虫程序过分利用了别人站点的宽容心,况且目标对象本身就是免费的,也就谈不上寄生,只能说是合理运用资源。具体来说也分为两类


一类是全客户端操作,这类程序比较难于设计,因为web程序存在着cross domain的问题,如果是客户端纯js程序,必须要求宿主站点提供JSON接口

crossdomain.xml是adobe搞的,为了让flash跨域访问文件。

该配置文件放于服务器端的根目录下面。来设置让哪些域名下面的swf文件能够访问我服务器上的内容。



另一类是主要的寄生类型,就是服务器端操作,将用户提交的数据用各种方式POST到其他免费服务站点,必要的时候可以通过提交验证信息,cookie,来获得数据存储的权限。这里面最关键的问题在于,如果充分利用免费资源来达到自己的存储目的?


举例来说,很多公司站点有留言簿,而且几乎没有人用,那么我们完全可以利用这一点,我们自己的留言簿上,当用户提交留言,我们会直接POST给宿主站点的处理URL, 当然了,信息必须经过加工,用于跟宿主站点的正常留言区分开来。


也许有人会问,你自己的站点就诊的在乎那么一点数据空间么?当然不是,我们只是讨论了一种情况,如果用户提交文件,我们也可以做base64编码后发到宿主站点,文件太大可以分解发送,这样从宿主站点看起来,只不过是一段一段字母,而我们仍然可以把他们重新组合成为二进制文件,虽然效率低下,谁叫你想用免费呢。


当然这种方式很傻,没有人愿意从文本重新合成二进制文件的,而且是不断从别人站点抓取文本!因此,选择好的宿主就很重要了,关键是满足自己的存储需求,稳定,速度要能接受。典型的代表就是免费静态页面,假如你有一个站点是拥有服务器脚本权限但是空间很小,这时候寄生虫程序可就派上用场了。


首先找到好些的静态空间的服务商,然后申请他几个免费空间,在你的服务器端要实现的,就是利用静态空间管理页面来认证,上传,删除文件,并且建立索引文件用于记录当前存储情况,必要的时候可以建立二级索引来模拟数据库。然后当你的站点文件上传或者内容上传,统统变成文件上传请求发送到宿主站点,并且更改索引文件(索引文件最好放在自己站点,可以是一个小的数据库文件,文本文件),听起来比较变态,实际上我曾经做过一个Blog,就是利用这样的方式,本身内容很丰富,文件,日记,图片,什么功能都实现了,相对来说速度并不慢,毕竟服务器之间的速度还是有保障的,如果碰巧你的站点跟宿主站点服务器放在一个机房。。。


另外,如果你只想存储文本,那么Google Base API是一个很好的选择,可以存储简单的文件,索引也可以放在上面,并且提供搜索,还有什么比这更好的呢?


当然了,这些方法都是当年资源匮乏的时候采用的,资金不充裕用免费空间,或者只是想学习的,都可以尝试一下。

你可能感兴趣的:(练手学习)