JS跨域大法

本篇幅主要将如何在任意互联网网站插入JS,使用JS让页面进行一些自动化操作。例如:数据抓取、数据提交、模拟按键等。

众所周知,浏览器的调试器是可以做到在任意网站指定指定JS代码的。但是本地通过嵌套iframe或者修改document.domain均无法实现,内嵌网站非完全控制下的JS跨域操作。

前几天,帮朋友写个抢单器,写个过程中第一次发现CURL无法处理的情况,最后通过JS来解决所以有了下面这篇文章。

经过研究,发现至少3种以上的解决方法,因为每个人的应用目的不同,今天主要讲2种网上没有提到的思路。不管那种方法均可使用append添加代码到指定页面。

方法一、通过页面内链入的外部JS运行库或者统计代码的域名修改Hosts,指向到本地,自架设web服务端,加载自己想执行的JS。

这种方法有两个缺陷,如果指定页面没有加载外部的JS,则无法进行JS更换。而且因为修改了Hosts所以所有嵌入这个域名的JS的页面均受影响。优点是可以用火狐浏览器来跑这个任务,稳定和持续性是非常好的。

方法二、通过浏览器插件或扩展来实现加载自己想执行的JS。

我仅研究了下谷歌浏览器的扩展方法。发现存在以下一个缺陷,JS独立于原有页面的JS以外,例如原页面已经有JQ库了,但是如果你以JQ的语法来写的话,需要自己重新加载JQ运行库。优点是直接装载扩展就可以了,对于使用的人来说降低了门槛。

PS:针对Session登录和302重定向来防盗的页面这两种方法还是有奇效的。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注