<?php |
003 |
004 | //查询禁止IP |
005 |
006 | $ip =$_SERVER[ 'REMOTE_ADDR' ]; |
007 |
008 | $fileht= ".htaccess2" ; |
009 |
010 | if (!file_exists($fileht))file_put_contents($fileht, "" ); |
011 |
012 | $filehtarr=@ file ($fileht); |
013 |
014 | if (in_array($ip. "\r\n" ,$filehtarr))die( "Warning:" . "<br>" . "Your IP address are forbided by some reason, IF you have any question Pls emill to shop@mydalle.com!" ); |
015 |
016 | |
017 |
018 | //加入禁止IP |
019 |
020 | $ time = time (); |
021 |
022 | $fileforbid= "log/forbidchk.dat" ; |
023 |
024 | if (file_exists($fileforbid)) |
025 |
026 | { if ($ time -filemtime($fileforbid)>60)unlink($fileforbid); |
027 |
028 | else { |
029 |
030 | $fileforbidarr=@ file ($fileforbid); |
031 |
032 | if ($ip==substr($fileforbidarr[0],0,strlen($ip))) |
033 |
034 | { |
035 |
036 | if ($ time -substr($fileforbidarr[1],0,strlen($ time ))>600)unlink($fileforbid); |
037 |
038 | elseif($fileforbidarr[2]>600){file_put_contents($fileht,$ip. "\r\n" ,FILE_APPEND);unlink($fileforbid);} |
039 |
040 | else {$fileforbidarr[2]++;file_put_contents($fileforbid,$fileforbidarr);} |
041 |
042 | } |
043 |
044 | } |
045 |
046 | } |
047 |
048 | //防刷新 |
049 |
050 | $str= "" ; |
051 |
052 | $ file = "log/ipdate.dat" ; |
053 |
054 | if (!file_exists( "log" )&&!is_dir( "log" )) mkdir ( "log" ,0777); |
055 |
056 | if (!file_exists($ file ))file_put_contents($ file , "" ); |
057 |
058 | $allowTime = 120;//防刷新时间 |
059 |
060 | $allowNum=10;//防刷新次数 |
061 |
062 | $uri=$_SERVER[ 'REQUEST_URI' ]; |
063 |
064 | $checkip=md5($ip); |
065 |
066 | $checkuri=md5($uri); |
067 |
068 | $yesno= true ; |
069 |
070 | $ipdate=@ file ($ file ); |
071 |
072 | foreach($ipdate as $k=>$ v ) |
073 |
074 | { $iptem=substr($ v ,0,32); |
075 |
076 | $uritem=substr($ v ,32,32); |
077 |
078 | $timetem=substr($ v ,64,10); |
079 |
080 | $numtem=substr($ v ,74); |
081 |
082 | if ($ time -$timetem<$allowTime){ |
083 |
084 | if ($iptem!=$checkip)$str.=$ v ; |
085 |
086 | else { |
087 |
088 | $yesno= false ; |
089 |
090 | if ($uritem!=$checkuri)$str.=$iptem.$checkuri.$ time . "1\r\n" ; |
091 |
092 | elseif($numtem<$allowNum)$str.=$iptem.$uritem.$timetem.($numtem+1). "\r\n" ; |
093 |
094 | else |
095 |
096 | { |
097 |
098 | if (!file_exists($fileforbid)){$addforbidarr=array($ip. "\r\n" , time (). "\r\n" ,1);file_put_contents($fileforbid,$addforbidarr);} |
099 |
100 | file_put_contents( "log/forbided_ip.log" ,$ip. "--" . date ( "Y-m-d H:i:s" , time ()). "--" .$uri. "\r\n" ,FILE_APPEND); |
101 |
102 | $timepass=$timetem+$allowTime-$ time ; |
103 |
104 | die( "Warning:" . "<br>" . "Sorry,you are forbided by refreshing frequently too much, Pls wait for " .$timepass. " seconds to continue!" ); |
105 |
106 | } |
107 |
108 | } |
109 |
110 | } |
111 |
112 | } |
113 |
114 | if ($yesno) $str.=$checkip.$checkuri.$ time . "1\r\n" ; |
115 |
116 | file_put_contents($ file ,$str); |
117 |
118 | ?> |