On 9/22/06, host.md <[EMAIL PROTECTED]> wrote:
Hi to all. I am running a site with free hosting on apache. Everything works
fine..until some of our free users, by mistake runs some infinite loops. The
current configuration of the apache is based on ExtFilterOutput, which sends
all the output to a script in perl that adds some banners. The problem is
when users by mistake, generate Gigs of output, back to client,  our server
hangs. The perl script takes all the output that apache sends via <STDIN>
and adds, as i said, the banner:

#perl output filter
$stdin=<STDIN>."some_banner_path_here";
print $stdin;

What happends here is that STDIN becomes very big, and perl script hangs,
growings very large, in memory. How can i restrict apache not to generate
that much information back to the client? I found nothing in internet about
that. Maybe there are some other methods of adding some ads to html pages???

If for you need some more details please tell me.

Simple solution: have your script count bytes and abort when it
reaches a certain number.

Even simpler solution: write your script in such a way that it isn't
buffering the entire request before sending it along.

More stable and performant solution: In place of mod_ext_filter, use
an apache module that doesn't involve forking a perl script to mangle
each request.  Examples of modules that can do this include
mod_publisher, mod_perl, mod_php, etc.

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to