On 9/22/06, host.md <oleg@xxxxxxxxxxx> 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: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx