Login   Register  
PHP Classes
elePHPant
Icontem

File: example.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Vagharshak Tozalakyan  >  Flood Blocker  >  example.php  >  Download  
File: example.php
Role: Example script
Content type: text/plain
Description: Example
Class: Flood Blocker
Detect and protect from attempts to flood a site
Author: By
Last change:
Date: 2005-04-16 06:02
Size: 1,628 bytes
 

Contents

Class file image Download
<?php

  
// Place flood protection code at the top of the script you want to protect.
  // You can write protection code into separate file and include it in every
  // page of your site.

  // Sample protection code starts here...

  // Include the class definition module.

  
require_once ( '../class.floodblocker.php' );

  
// In the following line write the full path to temporary directory in which
  // you want to store flood counters. It is good idea to create such folder
  // somewhere outside your documents directory, to make it unaccessable from Web.
  // Don't forget that the directory must have permissions to write files in it.
  // IMPORTANT!
  // All files in this folder (except those that start with dot, e.g.'.htaccess')
  // will be deleted by FloodBlocker, so don't keep anything there.

  
$flb = new FloodBlocker 'tmp-ips/' );

  
// Create as many rules as you want...

  
$flb->rules = array (
    
10=>10,    // rule 1 - maximum 10 requests in 10 secs
    
60=>30,    // rule 2 - maximum 30 requests in 60 secs
    
300=>50,   // rule 3 - maximum 50 requests in 300 secs
    
3600=>200  // rule 4 - maximum 200 requests in 3600 secs
  
);

  
// At last call CheckFlood(), it will return FALSE if flood detected on any
  // of specified rules.

  
if ( ! $flb->CheckFlood ( ) )
    die ( 
'Too many requests! Please try later.' );

  
// ... that's all. Enjoy!

?>

<html>
<head>
<title>The title of my page...</title>
</head>
<body bgcolor="#cccccc">
<h1>Welcome to my page...</h1>
No flood was detected if you see the contents of this page...
</body>
</html>