顯示廣告
隱藏 ✕
看板 humorless
作者 humorless (休摩里斯)
標題 Re: php session anti-flood protection
時間 2011年04月23日 Sat. PM 05:50:15


function is_flood($name,$time)
{
 $name = 'tmptmptmp'.$name;
 if(!isset($_SESSION[$name]))
 {
  $_SESSION[$name] = time();
  sleep(1);
  header( "Location: ". "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'] );
  die();
 }
 else
 {
  if(time()-$time > $_SESSION[$name])
  {
   $_SESSION[$name] = time();
   return false;
  }
  else
  {
   return true;
  }
 }
}


使用方法:
// add code here to do http get flood protection
require('./antiflood.php');
session_start();
if(is_flood('post',10))
{
  echo "You are requesting too fast! Please be pacient";
  exit();
}
//
echo "test";




--
※ 作者: humorless 時間: 2011-04-23 17:50:15 來自: host-111-184-41-18.dynamic.kbtelecom.net
※ 看板: humorless 文章推薦值: 0 目前人氣: 0 累積人氣: 135 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇