php实现首页链接查询 友情链接检查的代码
程序员文章站
2024-02-05 23:24:58
...
复制代码 代码如下:
<?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>'; } ?>
上一篇: 请教在PHP中怎么截获HTTP请求