|  | Posted by frizzle on 12/13/06 14:44 
frizzle wrote:> Erwin Moller wrote:
 > > frizzle wrote:
 > >
 > > > Hi there,
 > > >
 > > > I need a function to prevent a page from being loaded too often too
 > > > fast.
 > > > So say, one is only allowed to refresh a single page 5 times in 10
 > > > seconds, or 10 times in 5 seconds (or whatever ... ).
 > > > If the load frequency exceeds that, the site calls exit(); And a
 > > > message is displayed. Just like Expression Engine does ...
 > > >
 > > > This way i want to protect the DB from being queried rediculously
 > > > often, and maybe even protect it from DDOS attacks.
 > > >
 > > > I hope it's clear. I don't know where to start ..
 > > >
 > > > Thanks!
 > >
 > > Hi,
 > >
 > > You have to implement some kind of countingmechanism when the page starts.
 > > You can store the timestamp (now) in a database once the page runs, and
 > > check if it has been accessed more than X times last Y seconds.
 > > Just build it. :-)
 > >
 > > Of course this check will slow down each request to the page a little, but
 > > if the load of running the whole page is much higher, this may be worth the
 > > time.
 > >
 > > Regards,
 > > Erwin Moller
 >
 > Would this be a good thing to do with sessions ?
 
 Not to be stupid  here, but i don't completely get one thing:
 
 Say one can load 5 times in 5 seconds;
 
 If someone loads the page at second 1, and then reloads three times
 between second 3 and five, this would be 4 loads in 5 seconds. But if
 then he reloads 3 times between seconds 5 and 7, it's 6 loads in (less
 then) 5 seconds, though AFAIK your idea would have "approved" this.
 
 How could i fix this?
 
 Thanks!
  Navigation: [Reply to this message] |