自从9月后百度和360开战的结果就是 百度搜索结果的网址改变了,变成link?url=………这样的重定向格式了。看到这样的不友好的URL真有破解的冲动。于是今天开始试试破解它。前几天写过一篇可以获取到百度跳转之后的网址的文章,在百度了一下,有人也研究过百度link?url=的。大概得出如下结果:
u<y\iZ[
UQf>5g *UL|{_)c 我是这样验证的:
>ya- 1、先百度搜索
www.php100.com ma-Y' 第一个结果链接:
W] ;6u
http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf546427d385fef6656de2404d6843da27
dzv,)X 看到前面的几位6427d385fef6656de2404d6843da27
4TQISu) vK.4JOlRF 2、 再百度搜索
www.hao123.com Ah>krE0t 第一个结果链接:
8(_g] u#B; http://www.baidu.com/link?url=…………ebac5573358cc3c0659257bfcf54 6427d385e6ff7a6de0434d6843da
iBiA0 W 看到前面的几位6427d385e6ff7a6de0434d6843da
F",abp! /GSI.tO ……
!zkEh9G +@)$l+kk9 多次搜索N个网站后发现,域名前几位是“www.”的,密文是都是6427d385
--%2=.X= 并且www.是四个字符,密文6427d385是八个字符。可以知道密文两个字符等于url一个字符。
}.$B1%2 x5 ~E'~_ 于是写了一个php表单查询并得到密文部分,方便以后查看。
bSmaE7 zT-"kK 出个php源码:
iM/0Yp-v'> 2V"gqJHv <html>
k`~br249 <head>
rH:X/i;D <meta http-equiv="content-type" content="text/html;charset=utf-8">
v8k^=A: <title>查询百度link?ulr=真实链接表单</title>
}~CZqIP </head>
|ShRxE3@' wG?kcfu <body>
w@ylRq <?php
rLVc<595 /*
bfI -!, getrealurl 获取301、302重定向后的URL地址 by enenba.com
~ kJpB t7M @param str $url 查询
3L]^x9Cu) $return str 定向后的url的真实url
Ng39D#_) */
h16Nr x function getrealurl($url){
446hr zW>@ $header = get_headers($url,1);
6Vzc:8o> if (strpos($header[0],'301') || strpos($header[0],'302')) {
lKwT5ma7 if(is_array($header['Location'])) {
>`|uc return $header['Location'][count($header['Location'])-1];
>T^v4A }else{
y8S6ZtA}2 return $header['Location'];
\ g(#)f }
1sLfjH hv }else {
J<* Mk return $url;
vm^# aoDB }
OjEA;;qq }
gpvj'Ri7V $input = '<form method="get" action=""><input type="text" name="url" id="url" style="width:800px;" /><input type="submit" value="提交" /></form><body></html>';
HU+H0S~g ,T~5iLKY $url = isset($_GET['url'])?$_GET['url']:'';
ujqktrhuLb if(empty($url)) exit($input);
Qu\l$/ $urlreal = getrealurl($url);
t6e-~ echo '真实的url为:'.$urlreal;
:|Nbk58 $urlreal = ltrim($urlreal,'http://');
q.F1Jj NS;8&