|
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!
[Back to original message]
|