WordPress简单防止CC(5秒盾)PHP通用

前言 利用检测cookie是否为正常的值,来确定是否为正常用户访问。PHP写的所以如果攻击的人代理很多的话,效…

前言

利用检测cookie是否为正常的值,来确定是否为正常用户访问。PHP写的所以如果攻击的人代理很多的话,效果还是不大的!所以!做人要低调!

代码

建立一个cc.php文件

<?的PHP
定义('SYSTEM_ROOT' ,目录名(preg_replace ('@ (。* (。* $ @' ,'' ,preg_replace ('@ (。* (。* $ @' ,`` ,__FILE__ )))。'/' );    
session_start ();
date_default_timezone_set ('亚洲/上海' );
标头('Content-Type:text / html; charset = UTF-8' );
函数getspider ($ useragent = '' ){
	如果(CC_Defender == 2 )返回false ; 
	if (!$ useragent ){ $ useragent = $ _SERVER [ 'HTTP_USER_AGENT' ];}
$ useragent = strtolower ($ useragent );
	if (strpos ($ useragent ,'baiduspider' )!== false ){ 返回'baiduspider' ;}     
	if (strpos ($ useragent ,'googlebot' )!== false ){ 返回'googlebot' ;}     
	if (strpos ($ useragent ,'soso' )!== false ){ 返回'soso' ;}     
	if (strpos ($ useragent ,'bing' )!== false ){ 返回'bing' ;}     
	if (strpos ($ useragent ,'yahoo' )!== false ){ 返回'yahoo' ;}     
	if (strpos ($ useragent ,'sohu-search' )!== false ){ 返回'Sohubot' ;}     
	if (strpos ($ useragent ,'sogou' )!== false ){ 返回'sogou' ;}     
	if (strpos ($ useragent ,'youdaobot' )!== false ){ 返回'YoudaoBot' ;}     
	if (strpos ($ useragent ,'yodaobot' )!== false ){ 返回'YodaoBot' ;}     
	if (strpos ($ useragent ,'robozilla' )!== false ){ 返回'Robozilla' ;}     
	if (strpos ($ useragent ,'msnbot' )!== false ){ 返回'msnbot' ;}     
	if (strpos ($ useragent ,'lycos' )!== false ){ 返回'Lycos' ;}     
	if (strpos ($ useragent ,'ia_archiver' )!== false || strpos ($ useragent ,'iaarchiver' )!== false ){ 返回'alexa' ;}         
	if (strpos ($ useragent ,'archive.org_bot' )!== false ){ 返回'Archive' ;}      
	if (strpos ($ useragent ,'robozilla' )!== false ){ 返回'Robozilla' ;}      
	if (strpos ($ useragent ,'sitebot' )!== false ){ 返回'SiteBot' ;}      
	if (strpos ($ useragent ,'mj12bot' )!== false ){ 返回'MJ12bot' ;}      
	if (strpos ($ useragent ,'gosospider' )!== false ){ 返回'gosospider' ;}      
	if (strpos ($ useragent ,'gigabot' )!== false ){ 返回'Gigabot' ;}      
	if (strpos ($ useragent ,'yrspider' )!== false ){ 返回'YRSpider' ;}      
	if (strpos ($ useragent ,'gigabot' )!== false ){ 返回'Gigabot' ;}      
	if (strpos ($ useragent ,'jikespider' )!== false ){ 返回'jikespider' ;}      
	if (strpos ($ useragent ,'addsugarspiderbot' )!== false ){ 返回'AddSugarSpiderBot' ; / *非常少* / }      
	if (strpos ($ useragent ,'testspider' )!== false ){ 返回'TestSpider' ;}      
	if (strpos ($ useragent ,'etaospider' )!== false ){ 返回'EtaoSpider' ;}      
	if (strpos ($ useragent ,'wangidspider' )!== false ){ 返回'WangIDSpider' ;}      
	if (strpos ($ useragent ,'foxspider' )!== false ){ 返回'FoxSpider' ;}      
	if (strpos ($ useragent ,'docomo' )!== false ){ 返回'DoCoMo' ;}      
	if (strpos ($ useragent ,'yandexbot' )!== false ){ 返回'YandexBot' ;}      
	if (strpos ($ useragent ,'ezooms' )!== false ){ 返回'Ezooms' ; / *个人* / }      
	if (strpos ($ useragent ,'sinaweibobot' )!== false ){ 返回'SinaWeiboBot' ;}      
	if (strpos ($ useragent ,'catchbot' )!== false ){ 返回'CatchBot' ;}      
	if (strpos ($ useragent ,'surveybot' )!== false ){ 返回'SurveyBot' ;}      
	if (strpos ($ useragent ,'dotbot' )!== false ){ 返回'DotBot' ;}      
	if (strpos ($ useragent ,'purebot' )!== false ){ 返回'Purebot' ;}      
	if (strpos ($ useragent ,'ccbot' )!== false ){ 返回'CCBot' ;}      
	if (strpos ($ useragent ,'mlbot' )!== false ){ 返回'MLBot' ;}      
	if (strpos ($ useragent ,'adsbot-google' )!== false ){ 返回'AdsBot-Google' ;}     
	if (strpos ($ useragent ,'ahrefsbot' )!== false ){ 返回'AhrefsBot' ;}     
	if (strpos ($ useragent ,'spbot' )!== false ){ 返回'spbot' ;}     
	if (strpos ($ useragent ,'augustbot' )!== false ){ 返回'AugustBot' ;}     
	返回false ; 
}
 
if ($ _GET [ 'rand' ] && $ _SESSION [ 'rand_session' ]!= $ _GET [ 'rand' ]){ 
	@header ('Content-Type:text / html; charset = UTF-8' );
exit ('<b>浏览器不支持COOKIE或不正常访问!</ b>' );
}
if (!$ _SESSION [ 'rand_session' ] && $ nosecu != true ){ 
	如果(!getspider ()){
		$ rand_session = MD5 (uniqid 。()蘭特(1 ,1000 ));
	$ _SESSION [ 'rand_session' ] = $ rand_session ;
		退出(“ <!DOCTYPE HTML>
		<html>
		<头>
		<meta charset = “ UTF-8 ” />
		<meta name = “ viewport ” content = “ width = device-width,initial-scale = 1,maximum-scale = 1 ” />
 
		<title>安全检查中... </ title>
	 <script> var i = 5; 
  var intervalid; 
  intervalid = setInterval(“ fun()”,1000); 
函数fun(){ 
如果(i == 0){ 
window.location.href = “?{$ _ SERVER ['QUERY_STRING']}&rand = {$ rand_session} ”; 
clearInterval(intervalid); 
} 
document.getElementById(“ mes ”)。innerHTML = i; 
一世 - ; 
} 
</ script> 
<样式>
	html,正文{width:100%; 高度:100%; 边距:0; 填充:0;}
    正文{background-color:#ffffff; 字体家族:Helvetica,Arial,無襯線;字体大小:100%;}
    h2 {font-size:1.5em; 顏色:#404040; 文字對齊:居中;}
    p {font-size:1em; 顏色:#404040; 文字對齊:居中;邊距:10px 0 0 0;}
    #spinner {保证金:0自动30px自动;显示:阻止;}
    .attribution {margin-top:20px;}
  </ style>
  </ head>
<身体>
  <table width = “ 100%” height = “ 100%” cellpadding = “ 20 ”>
    <tr>
      <td align = “ center ” valign = “ middle ”>
    <noscript> <h2>請打開瀏覽器的javascript,然後刷新瀏覽器</ h2> </ noscript>
  <h2> <span data-translate = “ checking_browser ”>瀏覽器安全檢查中... </ span> </ h2>
    <p data-translate = “ process_is_automatic ”> </ p>
    <p data-translate = “ allow_5_secs ”>還剩<span id = “ mes ”> 5 </ span>秒</ p>
  </ div>
</ div>
  </ td>
    </ tr>
</ table> </ body> </ html>“ );
}
}

调用:

WordPress調用,主題/header.php第一行添加代碼:

<?php get_template_part ('template / cc' ); ?>   

 

首次访问网站检测浏览器cookie通過才能正常的访問您的网站,搜索引擎蜘蛛已经过滤,不影响收录,还有未加上的可以自己补充。平时没攻击的时候建议不要开启,会影响网站的体验,配合Nginx lua waf简单防御CC 攻击效果更佳。
类别:WordPress教程

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册