生成百度加密地址baidu/link?url=PHP代码
来源:网络分享
编辑:引流技巧
时间:2025-05-14

我们知道百度搜索排序中快照的地址并非目标URL,而是一个baidu/link?url=xxx形式的地址,302跳转到目标URL,那么,我们可不可以加密直接给自己的URL生成一个这样的地址呢?
网上其实有很多研究的文章,给出的答案都是无法获知加密方式是不可能破解的,但是根据研究,可以实现生成一个类似的URL,并能实现跳转到目标页。下面是我从网上抄录的代码
PHP代码一
<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> <?php //$ascii码表x,y位置 $ascii = array( 0=>array(' ','!','"','#','$','%','&','\'','(',')','*','+',',','-','.','/'), 1=>array('0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?'), 2=>array('@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O'), 3=>array('P','Q','R','S','T','U','V','W','X','Y','Z','[','\\',']','^','_'), 4=>array('`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o'), 5=>array('p','q','r','s','t','u','v','w','x','y','z','{','|','}','~',' '),); //url第N个位置对应的(x,y),目前只得到80位的url $data = array( array(13,10), array(10,1), array(16,15), array(7,6), array(5,13), array(18,9), array(13,11), array(7,12), array(10,5), array(15,9), array(15,9), array(13,5), array(16,11), array(0,1), array(8,2), array(8,5), array(0,0), array(17,15), array(14,8), array(2,1), array(10,5), array(17,14), array(16,5), array(3,8), array(14,9), array(5,8), array(15,1), array(3,15), array(13,10), array(10,12), array(5,7), array(0,2), array(18,14), array(0,15), array(1,6), array(13,5), array(2,1), array(15,14), array(18,8), array(18,9), array(1,10), array(14,14), array(13,2), array(5,3), array(5,8), array(0,4), array(1,5), array(16,1), array(8,1), array(2,5), array(10,7), array(10,15), array(14,14), array(17,3), array(15,0), array(14,5), array(7,7), array(3,4), array(14,8), array(12,0), array(13,12), array(12,3), array(6,5), array(3,1), array(1,14), array(5,4), array(0,12), array(7,0), array(10,7), array(15,12), array(8,2), array(18,15), array(3,12), array(1,12), array(0,15), array(17,4), array(17,2), array(11,1), array(3,12), array(11,5), array(0,13), array(1,1), array(2,12) ); //所有的y值 $y = array( 0=> '0123456789abcdef', '1032547698badcfe', '23016745ab89efcd', '32107654ba98fedc', '45670123cdef89ab', '54761032dcfe98ba', '67452301efcdab89', '76543210fedcba98', '89abcdef01234567', '98badcfe10325476', 'ab89efcd23016745', 'ba98fedc32107654', 'cdef89ab45670123', 'dcfe98ba54761032', 'efcdab8967452301', 'fedcba9876543210' ); //所有的x值 $x = array( 0=> '016745', '107654', '234567', '321076', '325476', '452301', '543210', '670123', '765432', '761032', '89abcd', '89efcd', '98fedc', 'abcdef', 'badcfe', 'cdab89', 'dcba98', 'ef89ab', 'fe98ba' ); //解密过程: $domain = "www.4xseo.com"; $len = strlen($domain); for($i=0;$i<$len;$i++){ $domain_one = substr($domain,$i,1);//输出el $arr_x = array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'); $arr_y = array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'); for($ax =0;$ax<sizeof($arr_x);$ax++){ for($ay =0;$ay<sizeof($arr_y);$ay++){ //读取每一组密文的x 和 y $one = array($arr_x[$ax],$arr_y[$ay]);//str_split($v); $encode_x = $one[0]; //f $encode_y = $one[1]; //d //得到第$k位的data $this_data_x = str_split($x[$data[$i][0]]); // $data[$k]=13,10 [0] = $x[13] $this_data_y = str_split($y[$data[$i][1]]); // $data[$k]=13,10 [1] = $y[10] //得到在ascii码表的x,y $real_x = array_search($encode_x,$this_data_x); //5 $real_y = array_search($encode_y,$this_data_y); //7 3 //结果 $result = $ascii[$real_x][$real_y]; if($result == $domain_one ){ $mi .= $arr_x[$ax].$arr_y[$ay]; $url .= $result; echo '密文对应:'.$arr_x[$ax].$arr_y[$ay].'----'.$result."<br>"; break 2; } } } } echo '密文对应:http://www.baidu.com/link?url=a3f48d30fc293c5e471ef23de092fddc99'.$mi.'----'.$url."<br>"; ?> </body> </html>此代码与《什么是百度反推秒收录技术,原理怎么实现》文末给出的生成链接原理基本一致
PHP代码二
验证后获得的地址返回的是404,已经失效了,贴出来参考学习
<?php $time = time().rand(1000,9999); $data = "{$time}###http://www.4xseo.com"; // 被加密信息 $key = '4xseo.com'; // 密钥 $encrypt = encrypt($data, $key); $decrypt = decrypt($encrypt, $key); echo $encrypt, "\n", $decrypt; function encrypt($data, $key) { $key = md5($key); $x = 0; $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= $key{$x}; $x++; } for ($i = 0; $i < $len; $i++) { $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256); } return base64_encode($str); } function decrypt($data, $key) { $key = md5($key); $x = 0; $data = base64_decode($data); $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= substr($key, $x, 1); $x++; } for ($i = 0; $i < $len; $i++) { if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) { $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1))); } else { $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1))); } } return $str; }以上代码来源《百度反推算法PHP代码》


相关文章:
相关推荐:
栏目分类

最新文章

热门文章
