復制代碼 代碼如下:
<?php
/*
* 網站首頁超鏈接反查 友情鏈接查詢 外鏈查詢
* web技術愛好者 lost63.com原創 QQ:35501547
* 轉載請注明出處
*/
if($_GET['action']=="check"){
$domain=$_POST['domain'];
//域名表單項為空,則獲取地址欄參數
if($domain==""){
$domain=$_GET['domain'];
}
//網址
$url="http://".$domain;
//讀取網頁,返回網頁源文件內容
function read_url($str){
$file=fopen($str,"r") or die($str.'->遠程網址讀取失敗! <a href="?next='.($_GET['next']+1).'&action=check&domain='.$_GET['domain'].'">點擊繼續查詢</a><br>');
while(!feof($file)){
$result.=fgets($file,9999);
}
fclose($file);
return $result;
}
//打開session
session_start();
//如果$_SESSION['matches']沒有賦值就設置它;
if(!isset($_SESSION['matches'])){
$result=read_url($url);
preg_match_all('/<a(.*?)href="(http:\/\/.*?)"(.*?)>(.*?)<\/a>/i',$result,$matches);
$num=count($matches[2]);
for($i=0;$i<$num;$i++){
if(strpos($matches[2][$i],$domain)>0){
unset($matches[2][$i]);
}
}
$_SESSION['matches']=$matches[2];
}
//直接從session中取出包含網址數組;
$matches[2]=$_SESSION['matches'];
$n=count($matches[2]);
$next=0;
$next+=$_GET['next'];
$result=read_url($matches[2][$next]);
if(strpos($result,$domain)>0){
$value=$matches[2][$next].' <font color=green>true</font><br>';
}else{
$value=$matches[2][$next].' <font color=red>false</font><br>';
}
$values=$_COOKIE['check_result'].$value;
setcookie("check_result",$values,time()+3600);
echo $values;
if($next==$n){
echo "掃描結束!";
}else{
echo '<meta http-equiv="refresh" content="1;URL=?next='.($next+1).'&action=check&domain='.$domain.'" />';
}
}else{
//刪除cookies
setcookie("check_result","",time()-3600);
echo '<form name="form1" method="post" action="?action=check">
<input type="text" name="domain">
<input type="submit" name="Submit" value="提交">
<font color="red">*</font>輸入域名 如:jb51.net
</form>';
}
?>