Forum Moderators: phranque

Message Too Old, No Replies

Apache::SpeedLimit

Or something to limit page views

         

carfac

11:34 pm on Oct 2, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Hi:

I want to add something to my site to catch those who might be mass-downloading pages all at once. Seems like SppeLimit would do it, but I cannof get it to work.

I installed it OK, and see that it needs IPC::Sharable... which I also installed fine. When I try and run it on a test server, I get this error:

[Mon Sep 30 12:13:11 2002] [error] Undefined subroutine &IPC::SysV::SEM_UNDO called at /usr/local/lib/perl5/site_perl/5.8.0/IPC/Shareable.pm line 45.
Compilation failed in require at /usr/local/lib/perl5/site_perl/5.8.0/i386-freebsd/Apache/SpeedLimit.pm line 9.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.0/i386-freebsd/Apache/SpeedLimit.pm line 9.
Compilation failed in require at (eval 81) line 3.

which leads me to beleive that the problem is in IPC::SysV

I Reinstalled perl 5.8, and during the install, I noticed (during test) that all the IPC modules returned "Not Tested on this platform." I tried to install IPC seperately through CPAN, and that fails, too.

So, is IPC something that does not work (properly) on FreeBSD? So, does this make SpeedLimit not an option for me (FreeBSD 4.6, Apache 1.3.26).

What other options would I have to limit an IP to, oh, say 40 d/l's a minute, and cut them off for an hour if they exceed that?

Thanks!

dave

andreasfriedrich

2:03 am on Oct 3, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Hi Dave,

I donīt have any experience with IPC::Shareable on BSD, sorry.

But if you cannot get shared to a variable via IPC::Shareable you may try using Apache::Session [search.cpan.org] or build your own solution storing data in a database accessed via DBI.

Thatīs all I can think of right now.

Andreas

carfac

3:29 am on Oct 3, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Hi Andreas:

Thanks, I will look into it! Not something I need by like tomorrow or anything.

Dave