在HTML5中a标签加入了一个新的属性ping。设计者加入它的理由是,Ping可以使浏览器对外发送一个异步请求,通常用来广告的追踪、点击率统计或完成一次HTTP重定向。
但是听到监视、追踪这个词,你是不是也觉得有点不舒服,所以Ping这个属性真的是很不受欢迎。浏览器一度抵制、进而加入默认关闭必须从如config这样的选项中打开才可以使用,到现在我从caniuse.com上还没有追寻到哪个浏览器支持它,但在我测试中最新版Chrome44是默认支持Ping的。
一、Ping的用法
Ping的用法很简单,这里举一个例子。
当你点击click me的时候,会异步发送一个POST请求到Ping后面指定的地址,Request Body的内容为PING。有人可能会说,那click me这段代码行不行?答案是否定的,href这个属性必须存在与中,不然Ping也是不会运行的。
二、死亡之PING
根据Ping发送POST请求这个特性,我们可以使用循环使之不停的向一个地址追加POST请求,造成DOS攻击。
运行上面的代码,就会不停的向xisigr.com发送POST请求。
请运行在线DEMO:DOS.html {chrome}
三、隐私追踪
Ping可以进行广告追踪,它可以统计用户都点击了哪些链接以及次数,并使用POST请求把这些信息发送到广告商的服