首页  >  文章  >  后端开发  >  用PHP?改?你的404???,?其威力不可?

用PHP?改?你的404???,?其威力不可?

WBOY
WBOY原创
2016-06-23 14:37:351306浏览

    404??,很多人都知道,如果要??的url不存在的?候就?取?示???面.以往在?理404方面我?通常的做法是要?????行字,而有心人士或????其稍加美化,另外一少部份想投?取巧的?伙甚至用meta??做延??向,?此而已,其?404?可以?我?做很多事,?就是今天我?要??的重?了.

    首先我??明一下我的404究竟都能?我做哪些事情:

1.他可以告?我何??自哪?的用?要??我哪?URL?果失?了.

2.他能告?我?方?何要????URL,并?助我?化?站

3.他能告?我?方的IP地址

4.他能告?我此人的居心何在

5.我可以?他把那些不想告?我的??嘴

6.他能把他想要告?我的用email方式??我

7.他能?我做301永久重定向.

8.他能告?我有人正在??入侵我的?站或主?

    ?起?很玄也很炫,好吧,接下?我?就???一下究竟他是怎?做到的.逐一分析:

1.我?可以用PHP捕捉用?的?源URL和?前的URL,所以第一?我?可以很??的做到.

2.因?有了?源URL,所以你就能很直?的猜?到用?的意?了,我??例子,就像我的?站http://www.7di.net,如果某?用?的?源URL是http://www.7di.net,而捕捉到他目前的URL是http://www.7di.net/user.php?id=1?就?明此人在??我的?站的?候???了某?人的?人?料???果找不到??人的?料?而出?,?明:ID=1的??可能不存在?已?被?掉了,那?你就要看一下?站上是否?有??URL的超?接,如果有的?就要想?法把它??掉吧!

3.??功能就比???了,只需要用PHP捕捉一下?方的ip即可.然後配合其他?站的IP?物理地址的功能就能知道此人?自哪?了.

4.??功能很好,很?大.因?我的?站www.7di.net是自己配置的服?器,所以安全方面都要靠自己??理,而往往有些不入流的?伙??人的服?器感?趣,他??用程序??各?方法??入服?器,而此?你就???你在短???收到大量的404??,且?源URL?空,他?要??的URL都是一些很敏感的URL,此?你需要做的就是打?你的防火??置,然後乾?俐落的封掉??IP.最近?段??我就是用此方法封了?十?IP,真是小兵立大功!忘??了,信息??部的IP也被我封了,我服?器在台?你????什麽?,真是的~~!

5.???,??插件??始的?候?我非常??,因?托他的福我每天?收到?百封Email,有的是因?用?正常???致的,有的是因?各家搜索引擎??集?容?致的,有些是因?小?三?想入侵?致的,?之不?其?,後?我稍作改?,把?展名符合?件或IP符合?件的都加入了??,只要?些符合?件就不用?送Email了,??一?清爽多了.

6.?一切都??不了PHP即??送Email的功能,我的做法是修改PHP.INI???PHP?部mail函??送,?然了如果你也可以用其他的方法,例如:安?sendmail或者??一?mail??藉助第三方smtp?送皆可.只要你爽就好(具???不是今天的????).

7.既然能???到???面,?明用???的URL是不存在的,所以我?要引?用?能???到正?的URL才?,那?既然是引?用???正?的URL或?你??直接用一?meta??或一句JS延?就行了何必大?周章301?向呢?因?我不想被搜索引擎??我是在作弊!回答完?.

8.?一?我在上?已??述?了,基本上?於小?三的判?要根?你的??和?你自己?站的熟悉程度??定,更有甚者,你要大??解你的?站都有哪些URL被其他?站?反?了(??啊,非一朝一夕能一蹴而就的).

??的,?放的否完了,接下?好?要上演了,把下?的代?存?404.php,然後apache或nginx之?的把你的404???指向??就行了.

<?PHP#设置URL,注意没有后划线/$MyURL = (isSet($_SERVER['HTTP_HOST'])) ? Str_iReplace('http://','',StrToLower(rTrim($_SERVER['HTTP_HOST'],'/'))) : 'www.7di.net';#设置URL,注意没有后划线/$MyDomain = (isSet($_SERVER['HTTP_HOST'])) ? 'http://'.Str_iReplace('http://','',StrToLower(rTrim($_SERVER['HTTP_HOST'],'/'))) : 'http://www.7di.net';//?定??.主要用?修正8小??差Date_Default_Timezone_Set('Etc/GMT-8');//输出头部Header('Content-type:text/html; charset=utf-8');/**	发送??	参数:		收件人,?件??(不可有?行符),?件?容(行?行之?必?用\n分隔,每行不可超?70?字符)	?明:		?用PHP?置函式Mail?送??	返回:		返回布?值	用法:		$IsSend=Fun::Mail2($email,$tit,$msg);/**/Function Mail2($to,$tit,$msg) {	IF(Filter_var($to,FILTER_VALIDATE_EMAIL)==''){		throw new Exception('??地址??!');	}	$tit='=?UTF-8?B?'.Base64_Encode($tit).'?=';	$msg = str_replace("\n.","\n..",$msg);		//Windows如果在一行开头发现一个句号则会被删掉,要避免此问题将单个句号替换成两个句号	Return Mail($to,$tit,$msg,'From:see7di@gmail.com'."\n".'Content-Type:text/html;charset=utf-8');}$msg='<table cellspacing="0" cellpadding="0" border="0"><tr><td style="padding:5px;background-color:#F57900;font-size:13px;border:2px solid #222;color:#222;">';$msg.=(isSet($_SERVER['REMOTE_ADDR'])) ? "<b>??者IP是:</b><br><a href='http://www.ip138.com/ips138.asp?ip={$_SERVER['REMOTE_ADDR']}&action=2' target='_blank'>{$_SERVER['REMOTE_ADDR']}</a><br>" : '';$msg.="<b>????:</b><br>".date('Y-m-d H:i:s',time()).'<br><br>';$msg.=(isSet($_SERVER['REMOTE_HOST'])) ? "<a href='http://www.ip138.com/ips138.asp?ip={$_SERVER['REMOTE_HOST']}&action=2' target='_blank'>{$_SERVER['REMOTE_HOST']}</a><br><br>" : '<br>';$msg.=(isSet($_SERVER['HTTP_USER_AGENT'])) ? "<b>??者???料:</b><br>{$_SERVER['HTTP_USER_AGENT']}<br><br>" : '';$msg.=(isSet($_SERVER['REQUEST_URI'])) ? "<b>要??的?面是:</b><br>{$MyDomain}{$_SERVER['REQUEST_URI']}<br><br>" : '';$msg.=(isSet($_SERVER['HTTP_REFERER']) And Trim($_SERVER['HTTP_REFERER'])!='') ? "<b>?源地址是:</b><br>{$_SERVER['HTTP_REFERER']}<br><br>" : '';$msg.='</td></tr></table>';//哪些?型的URL不?Email,如果不屏蔽掉?些的?能?死我$arr=Array('mp3','rm','swf','jpg','gif');//哪些IP不?Email,?些基本都是搜索引擎的蜘蛛$arrIP=Array('66.249.77.217','66.249.74.67');//要??的?展名$needEx=Explode('.',StrToLower(Trim($_SERVER['REQUEST_URI'])));$needEx=end($needEx);IF(!In_Array($needEx,$arr) And !In_Array(Trim($_SERVER['REMOTE_ADDR']),$arrIP)) {	Mail2('see7di@gmail.com','?自【'.$MyURL.'】的404??!',$msg);}unSet($MyURL,$msg,$needEx,$arr);Header('HTTP/1.1 301 Moved Permanently');Header ("Location:{$MyDomain}");Die();

  注意:如果你感?上?代?中所??的功能?不能?足你的?望,那?鼓?你改?他,完善它,加?他,我?不反?,但?你把你的作品分享?我,??啦~~~~!

?迎大家一起?我的PHP群交流切磋,??是:223494678

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn