Re: Strange thing about CGI::Cookie?
I had no clue either, but using the Apache Cookie module instead fixed it. Arnold On Mon, 29 May 2000, Kenneth Lee wrote: > I see this line in my error_log, > > (offline mode: enter name=value pairs on standard input) > > And I sure it is caused by CGI::Cookie->parse (or fetch). > Any idea why this would happen? > > Kenneth >
reload
Hi I thought Reload would be quite helpfull because of not having to restart the server, but now I am quite stuck. Only the first form shows all the changes immediately. The second form after pushing a button does not. Is this explainable? Arnold perl.conf starting: PerlRequire conf/startup.pl PerlFreshRestartOn PerlPostReadRequestHandler 'sub { Apache->request(shift) } ' PerlTransHandlerApache::StripSession PerlInitHandler Apache::Reload PerlSetVar ReloadAll off package Myapp.pm use strict; use Apache::Constants qw(:common); use Apache::File (); use CGI qw(:standard :html3 :netscape); use Image::Magick (); use DBI (); use Apache::Reload; handler { CASE: { /^/i and do some_other_form() first_form(); } } sub first_form() { This form does show changes for all children. Push a submit button to go some_other_form } sub some_other_form() { This form does not show changes at all.. }
flush and print
Hi I am using the CGI table function to print tables; These tables can become quite large. The html result is generated in a single print. So using $| to show some output to the user is not of any use since it works after every print.. I find the table function convenient, so I was hoping for another way of flushing the output. Clues? Arnold
Re: Benchmarking utlis?
On Tue, 12 Sep 2000, Pramod Sokke wrote: > Hi all, > > Are there any benchmarking utilities/guidelines that I can use to prove the >performance boost with mod_perl? We just moved all our old cgis to work under >mod_perl. > I'm using Solaris 2.7/Apache 1.3.12/mod_perl 1.24. > Thanks, > Pramod > Hi Maybe start looking at perl.apache.org/guide/performance.html Arnold
Re: Help! About DBI in mod_perl!
I guess you have to finish in between prepares? Arnold On Tue, 12 Sep 2000 [EMAIL PROTECTED] wrote: > Hi all, > > I got the following weird problem about DBI in mod_perl. > > Just a simple script which can run in the "cgi-bin",but failed in the mod_perl. > When I check the error_log, I find the message: > [Tue Sep 12 12:01:59 2000] [notice] child pid 1273 exit signal Segmentation fault >(11) > > My linux box: > perl 5.005_03, > Apache/1.3.12 (Unix) with mod_perl/1.24, > DBI-1.14, > Mysql 3.22.32 > > The http.conf about mod_perl: > Alias /perl/ "/usr/local/apache/cgi-bin/" > PerlTaintCheck On > > AllowOverride None > setenv MOD_PERL_TRACE ALL > PerlSetupEnv Off > SetHandler perl-script > PerlHandler Apache::Registry > PerlModule DBI CGI DBD::mysql > PerlSetEnv PERL_DESTRUCT_LEVEL -1 > Options +ExecCGI > Order allow,deny > Allow from all > > > The troublesome script is here: > >>>-- > #!/usr/bin/perl -w > > use CGI qw/:standard/; > use CGI::Carp 'fatalsToBrowser'; > use DBI; > use strict; > > my $query= new CGI; > my $dsn="DBI:mysql:database=authuser;host=localhost;port=3306"; > my $loginname="test"; > my $password="test"; > my @table; > my ($dbh,$sth,$fields,$nums,$cols); > > print $query->header(); > print $query->start_html(-title=>'hello'); > print h3({-align=>'center'},"database"); > print ""; > > print ""; > print ""; > > $dbh=DBI->connect($dsn,$loginname,$password,{RaiseError=>1}) || die "Can't >connect!\n"; > $sth=$dbh->prepare("describe MemberAuth"); > $sth->execute(); > # list the column of the table > $fields=$sth->fetchall_arrayref(); > foreach $nums (@$fields) { > foreach $cols (@$nums[0]) { > print "",$cols,""; > } > } > print ""; > > $sth=$dbh->prepare("select * from MemberAuth"); > $sth->execute(); > # show the records of the table > while(@table=$sth->fetchrow_array()) { > print ""; > foreach my $data (@table) { >print "",$data,""; > } > print ""; > } > $sth->finish(); > $dbh->disconnect; > > print ""; > print $query->end_html; > > >>>--- > > Any help will be appreciated! >
Re: mod_perl guide corrections
On 14 Sep 2000, Joe Schaefer wrote: > Stas, > > > http://perl.apache.org/guide/scenario.html#Buffering_Feature > ... > There is no buffering of data uploaded from the client browser to the proxy, > thus you cannot use this technique to prevent the heavy mod_perl server from > being tied up during a large POST such as a file upload. Falling back to mod_cgi > seems to be the best solution for these specific scripts whose major function is > receiving large amounts of upstream data. > ... What if you wanted the functionality of the fase handlers before and after the loading of the file.. Could this also be accomplished by proper use of configuration statements in http.conf? Right now I do not think so, so getting the child tied up for the time of the upload I take for granted. Of course I have been mistaken several other times. Arnold
Re: OT: Server-push client page reload
Hi type: multipart/x-mixed-replace use CGI::Push qw(:standard) do_push(-next_page=>\&draw_a_page) sub draw_a_page { my ($q,$counter)= @_; return undef if $counter >100; my $time = localtime(); return start)html(), h1('test'), 'This page is caaled $counter times', hr, $time, end_html; } This is what I used once just as a test , but not under mod_perl. Netscape does support it. I understand that you have to set up channels under MS.. Not any idea about that. Could somebody point me some direction regarding channels. Arnold On Wed, 20 Sep 2000, Michael Nachbaur wrote: > This is off-topic, but I need an answer pretty quick, and I *am* writing this app >using mod_perl, so its sorta related (also, I don't want the headache of >re-subscribing to a new list). > > You know those online web-based tech support chat systems? Its commonly frame >based, but its just like IRC, but over HTML. when a user posts a message it >immediatly pops up on the chat frame, and you submit your message through a >regular-ol' HTML form. I don't think this is an applet, because this works in all >sorts of browsers. I think its javascript, but I'm not sure. My main question, is >when the server knows that a new message has been posted, how does it push that new >page out to the client web browser? I'm used to all page-views originating from the >client...not the server. > > Any ideas? > > --man > Michael A. Nachbaur (KE6WIA) > mike(at)nachbaur(dot)com > http://www.nachbaur.com > "..I've got blisters on my fingers!!!" -- Ringo Starr >
images/static files (fwd)
Hi I know that one is supposed to use a plain httpd or possibly thttpd for delivering static content like images. That is however a problem if the images itself are subject to protection. One option is basic atuhentication, but than the user/password goes to the server for every image to GET. Using https would mean protection of the user/password but then the images get encrypted as well, where I only want some access protection and no plaintext passwords going to the server. Using autcookie, would involve the use of mod_perl again. I am a bit stuck here. Arnold
imagemagick
This code does not work under modperl though tested as a small commandline script it does work. Also when I change the m6 to a number(ie primary recordkey) it will work Very strange Although I work around this by using the numbers, I feel a bit limited by using numbers only.. Maybe the bogus DQT index 9 remark ring s bell with somebody? $key = $sth->{'mysql_insertid'}; $modelcode = 'm6'; # $modelcode = $key; $picnaam = $modelcode.".jpg"; $filename = ${\DATAPAD}.$picnaam; open(FH, "> $filename"); while(<$file>) { print FH $_; } close(FH); $q = Image::Magick->new; $m; $res = $q->Read($filename); warn($res); $m = $q->montage('geometry'=>'150x120' ); $picnaamT0 = $modelcode."-0.jpg"; $filenameT0 = ${\DATAPAD}.$picnaamT0; $m->Write('filename' =>$filenameT0); undef @$q; undef @$m; Error message: [Wed Oct 25 16:36:17 2000] null: Warning 315: Bogus DQT index 9 (/home/images/velvet/m6.jpg) at /www/lib/perl/Velvet/VelvetAdmin.pm line 682, chunk 231. [Wed Oct 25 16:36:17 2000] [error] Can't locate object method "Write" via package "Warning 310: No images to montage" at /www/lib/perl/Velvet/VelvetAdmin.pm line 688, chunk 231. Arnold
ticketsystem
Hi I am using a cookie based authentication scheme. Cookie expires therefore login again. ( like the ticket master example in O'reilly's.) I noticed that the MS Explorer remembers both username and corresponding password, making the cookie based authentication system useless. (closing and reopening all windows does not help) So using the default browser preferences is no good. Does anybody know which browser preference is involved here. Arnold
Re: access log and the request object
I once used this: Is PerlCleanupHandler the same as LogHandler? As far as I remember putting the code in the cleanup phase would mean logging after finishing the request cycle with no delay for the client. Is that true? SetHandler perl-script PerlHandler Bankers::BedrijfswagensLijst PerlCleanupHandler Apache::LogDBI package Apache::LogDBI; use Apache::Constants qw(:common); use strict; use DBI (); use Apache::Util qw(ht_time); use constant DSN=> 'dbi:mysql:koeweide'; use constant DB_TABLE => 'access_log'; use constant DB_AUTH=> ':'; sub handler { my $orig =shift; my $r = $orig->last; my $date= ht_time($orig->request_time, '%Y-%m-%d %H;%M:%S' ,0); my $host= $r->get_remote_host; my $method = $r->method; my $url = $orig->uri; my $user= $r->connection->user; my $referer = $r->header_in('Referer'); my $browser = $r->header_in('User-agent'); my $status = $orig->status; my $bytes = $r->bytes_sent; my $dbh = DBI->connect(DSN,split ':', DB_AUTH); my $sth = $dbh->prepare("insert into ${\DB_TABLE} values (?,?,?,?,?,?,?,?,?)"); $sth->execute($date,$host,$method,$url,$user,$browser,$referer,$status,$bytes); $sth->finish; return OK; } 1; __END__ On Wed, 4 Apr 2001, darren chamberlain wrote: > Andrew Lau ([EMAIL PROTECTED]) said something to this effect on > 04/04/2001: > > I am currently developing a Perl based apache module and was > > wondering if such a functionality was available. From within > > the module would it be possible to modify the request object so > > that the url that gets logged to the access.log is different > > from what the client actually requested? > > > > For example, if a client requested /file which was redirected > > to this module could it modify either the request object or > > some apache internal so that it gets written in the access log > > as /file?session=1234567890abcdef . > > > > I apologize if this is readily available from some FAQ as i > > have been unable to find this information. Thanks for your > > time. > > This is untested, but I believe that mod_log_config logs, as part > of the %r CustomLog directive, r->the_request, which is the first > line of the request (i.e., "GET /file HTTP/1.0"). It might be > possible to do something like: > > my @request = split / /, $r->the_request; > $request[1] = sprintf "%s?session=%s", $request[1], $r->param('session'); > $r->the_request(join ' ', @request); > > assuming that $r->the_request is not read-only. > > Another option is to use CustomLog to log something other than > %r, like %{session}e to log an environment variable, or %q to log > the query string: > > CustomLog "%h %l %u %t \"%m %U%q %H\" %>s %b" > > %m is the method, %U is the requested url, %q is the query > %string (or '' if no query string), %H is the request protocol. > > (darren) > > -- > Everybody wants to go to heaven, but nobody wants to die. >
Re: Problem with Apache::DBI
Similar problem here but not quite First time now I want to use a database handler more persistent. Not yet by using Apache::DBI but in a global $DBH Shouldn't this just work? I did not put Apache::DBI in startup file I also tried code outside handler and I tried server restarts. I always get a server has gone use DBI (); use Apache::Reload; use vars qw($DBH $DB_TABLE $ID_LENGTH, %SESSION); sub handler { my $r = shift; $DBH = DBI->connect(DSN,undef,undef) unless defined($DBH) ; or: $DBH ||= DBI->connect(DSN,undef,undef) unless defined($DBH) ; my $bla = $DBH->do("select 1 from $DB_TABLE"); [Thu Apr 5 12:33:21 2001] null: DBD::mysql::db do failed: MySQL server has gone away at /usr/local/apache/lib/perl/Navvy/NavvyLijst.pm line 59. Arnold On Thu, 5 Apr 2001, Tim Bunce wrote: > You would only get that message if AutoCommit was off. > It should not be off for DBD::mysql (since it doesn't yet support > the transaction features of newer versions). > > Plus, disconnect doesn't do anything when using Apache::DBI > (by design). > > Tim. > > On Wed, Apr 04, 2001 at 11:49:17PM -0400, Alec Smith wrote: > > Issuing rollback() for database handle being DESTROY'd without explicit > > disconnect() at /usr/lib/perl5/site_perl/5.005/Apache/DBI.pm line 139. > > > > Using Apache::DBI 0.88+DBI 1.14+mod_perl 1.25+MySQL 3.23.36 I'm getting the > > above in my error_log and am not sure why. Any ideas? I do have a > > $db->disconnect; line in my modules. > > > > Just a tad lost, > > Alec >
Re: axkit segfaults
I read th FAQ but no succes: kampen@eureka:/w20/htdocs/xmltest > strings /w20/bin/httpd |grep -i XML kampen@eureka:/w20/htdocs/xmltest > I removed ssl and php4 from the build and only concentrated on modperl 1.26 and apache 1.3.20: [Sun Sep 30 18:06:32 2001] [notice] Apache/1.3.20 (Unix) AxKit/1.4 mod_perl/1.26 configured -- resuming normal operations (gdb) run -X Starting program: /w20/bin/httpd -X Program received signal SIGSEGV, Segmentation fault. 0x80c476f in Perl_gv_init () (gdb) bt #0 0x80c476f in Perl_gv_init () #1 0x80c4a4b in Perl_gv_fetchmeth () #2 0x80c4ee8 in Perl_gv_fetchmethod_autoload () #3 0x80c4e08 in Perl_gv_fetchmethod () #4 0x8108ced in Perl_sv_clear () #5 0x810935e in Perl_sv_free () #6 0x811a086 in Perl_free_tmps () #7 0x80c1827 in perl_eval_sv () #8 0x808cf7e in perl_require_module () #9 0x402e9a8f in XS_AxKit_load_module () from /usr/lib/perl5/site_perl/5.6.0/i586-linux/auto/AxKit/AxKit.so #10 0x81030cd in Perl_pp_entersub () #11 0x80fdc80 in Perl_runops_standard () #12 0x80c158a in S_call_body () #13 0x80c1351 in perl_call_sv () #14 0x8087651 in perl_call_handler () #15 0x8086f2c in perl_run_stacked_handlers () #16 0x80859a4 in perl_handler () #17 0x8093019 in ap_invoke_handler () #18 0x80a85ef in process_request_internal () #19 0x80a8662 in ap_process_request () #20 0x809f296 in child_main () #21 0x809f455 in make_child () #22 0x809f5d6 in startup_children () #23 0x809fc5c in standalone_main () #24 0x80a048c in main () #25 0x400b4baf in __libc_start_main () from /lib/libc.so.6 (gdb) quit The program is running. Exit anyway? (y or n) y I first tried the installation that was mentioned in the AxKit INSTALL file. After that I tried building building it again in two steps with the PREP command. In all cases the gdb bt looks quite similar. Each time I did new untar's on modperl and apache tarballs. kampen@eureka:~/down/modperl/mod_perl-1.26 > less arnold #!/bin/bash perl Makefile.PL \ EVERYTHING=1 \ USE_APACI=1 \ DYNAMIC=1 \ APACHE_PREFIX=/usr/local/apache \ APACHE_SRC=../../httpd/apache_1.3.20/src \ DO_HTTPD=1 \ PREP_HTTPD=1 $ make # make install kampen@eureka:~/down/httpd/apache_1.3.20 > less arnold #!/bin/bash SSL_BASE=/usr/local/ssl ./configure \ --prefix=/usr/local/apache \ --enable-module=rewrite \ --enable-shared=rewrite \ --activate-module=src/modules/perl/libperl.a \ --enable-module=perl \ --enable-module=rewrite \ --enable-module=proxy \ --disable-rule=expat \ --enable-suexec \ --suexec-uidmin=65534 \ --suexec-gidmin=65534 $ make # make install Arnold van kampen On Fri, 28 Sep 2001, Robin Berjon wrote: > On Friday 28 September 2001 15:19, [EMAIL PROTECTED] wrote: > > I used the an test.xml from example taken from axkit.org > > You don't mention having checked you don't have expat compiled in. Quoting > from the FAQ: > > "First of all, to find out if this is your problem, execute the command: > strings /path/to/apache/bin/httpd | grep -i XML. If there are any results at > all then you are going to see these segfaults until you recompile Apache (and > probably mod_perl too)" > > -- > ___ > Robin Berjon <[EMAIL PROTECTED]> -- CTO > k n o w s c a p e : // venture knowledge agency www.knowscape.com > --- > Learn from your parents mistakes - use birth control. >
axkit segfaults
I used the an test.xml from example taken from axkit.org Installed most components kampen@eureka:~/down/cpan/AxKit-1.4 > perl Makefile.PL checking for module mod_perl >= version 1.17... yes checking for module XML::Parser >= version 2.27... yes checking for module Digest::MD5 >= version 2.09... yes checking for module Compress::Zlib >= version 0... yes checking for module Error >= version 0.13... yes checking for module Apache::Request >= version 0.31_03... yes checking for module XML::XPath >= version 1.00... yes checking for module Storable >= version 0.7... yes checking for module HTTP::GHTTP >= version 1.00... yes checking for module XML::Sablotron >= version 0.40... yes checking for module XML::LibXSLT >= version 0.99... yes running xml2-config... ok checking for main() in -lxml2... yes checking for iconv() in -liconv... no checking for libiconv() in -liconv... no checking for iconv() in -lc... yes checking if iconv() param 2 is const... no Writing Makefile for Apache::AxKit::CharsetConv Writing Makefile for Apache::MimeXML Writing Makefile for AxKit kampen@eureka:~/down/cpan/AxKit-1.4 > This are ther other modules: [Fri Sep 28 12:34:55 2001] [notice] Apache/1.3.20 (Unix) AxKit/1.4 mod_perl/1.26 mod_ssl/2.8.4 OpenSSL/0.9.6b PHP/4.0.6 configured -- resuming normal operations [Fri Sep 28 12:34:55 2001] [notice] suEXEC mechanism enabled (wrapper: /usr/local/apache/bin/suexec) static build eureka:/w20/bin # ./httpd -l Compiled-in modules: http_core.c mod_env.c mod_log_config.c mod_mime.c mod_negotiation.c mod_status.c mod_include.c mod_autoindex.c mod_dir.c mod_cgi.c mod_asis.c mod_imap.c mod_actions.c mod_userdir.c mod_alias.c mod_access.c mod_auth.c mod_so.c mod_setenvif.c mod_ssl.c mod_perl.c<<< suexec: enabled; valid wrapper /usr/local/apache/bin/suexec eureka:/w20/bin # Doing strace on httpd://eureka.acon.nl/xmltest/test.xml eureka:/w20/bin # ps ax |grep httpd 24650 pts/1S 0:01 ./httpd -X eureka:/w20/bin # strace -p 24650 accept(16, ... getcwd("/usr/local/apache/htdocs/xmltest", 1024) = 33 brk(0x86eb000) = 0x86eb000 read(4, "", 4096) = 0 read(4, "", 4096) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 close(4)= 0 munmap(0x40018000, 4096)= 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 stat64("/usr/local/apache/lib/perl/Apache/Axkit/Language/XPathScript.pmc", 0xb29c) = -1 ENOENT (No such file or directory) open("/usr/local/apache/lib/perl/Apache/Axkit/Language/XPathScript.pm", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64("/usr/lib/perl5/5.6.0/i586-linux/Apache/Axkit/Language/XPathScript.pmc", 0xb29c) = -1 ENOENT (No such file or directory) open("/usr/lib/perl5/5.6.0/i586-linux/Apache/Axkit/Language/XPathScript.pm", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64("/usr/lib/perl5/5.6.0/Apache/Axkit/Language/XPathScript.pmc", 0xb29c) = -1 ENOENT (No such file or directory) open("/usr/lib/perl5/5.6.0/Apache/Axkit/Language/XPathScript.pm", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64("/usr/lib/perl5/site_perl/5.6.0/i586-linux/Apache/Axkit/Language/XPathScript.pmc", 0xb29c) = -1 ENOENT (No such file or directory) open("/usr/lib/perl5/site_perl/5.6.0/i586-linux/Apache/Axkit/Language/XPathScript.pm", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64("/usr/lib/perl5/site_perl/5.6.0/Apache/Axkit/Language/XPathScript.pmc", 0xb29c) = -1 ENOENT (No such file or directory) open("/usr/lib/perl5/site_perl/5.6.0/Apache/Axkit/Language/XPathScript.pm", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64("/usr/lib/perl5/site_perl/Apache/Axkit/Language/XPathScript.pmc", 0xb29c) = -1 ENOENT (No such file or directory) open("/usr/lib/perl5/site_perl/Apache/Axkit/Language/XPathScript.pm", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64("./Apache/Axkit/Language/XPathScript.pmc", 0xb29c) = -1 ENOENT (No such file or directory) open("./Apache/Axkit/Language/XPathScript.pm", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) stat64("/usr/local/apache//Apache/Axkit/Language/XPathScript.pmc", 0xb29c) = -1 ENOENT (No such file or directory) open("/usr/local/apache//Apache/Axkit/Language/XPathScript.pm", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 stat64("/usr/local/apache/htdocs/xmltest/test.xml", {st_mode=S_IFREG|0644, st_size=462, ...}) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 stat64("/usr/local/apache/htdocs/xmltest/.xmlstyle_cache", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64("/usr/local/apache/htdocs/xmltest/.xmlstyle_cache/a5b1f4f6dae41b93ac41e8a22c7d9db4", 0x826f440) = -1 ENOENT (No such file or directory) brk(0x86ee000
Re: [OT] New Micro$oft vulnerability?
The Nimda worm deposits many files, some of which are hidden in different directories on the infected server. The worm plants itself in the root of any available drive as the file admin.dll. Other filenames for the worm include: ADMIN.DLL, LOAD.EXE, MMC.EXE, README.EXE, RICHED20.DLL, MEP*.TMP.EXE, cmd.exe, tftp.exe, MAPI.DLL, system.ini, and .eml files. All executables on the system should be checked due to the chance of modifications. Happy trapping. On Mon, 24 Sep 2001, Ask Bjoern Hansen wrote: > On 19 Sep 2001, Vivek Khera wrote: > > > NT> http://www.torkington.com/vermicide.txt has a mod_perl handler to > > NT> catch the requests as soon as they arrive, and discard them with a > > NT> minimum of work to Apache. If your web server is struggling under the > > NT> load, this might help. > > > > Why waste your mod_perl back-end's resources? Do it in your front end > > reverse-proxy server with mod_rewrite: > > > > # trap CodeRed and send them away! > > > > RewriteEngine On > > RewriteRule /default.ida >http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutions/security/topics/codealrt.asp > [last] > > > > # trap exploits of code-red compromized systems. > > > > RewriteEngine On > > RewriteRule . >http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itsolutions/security/topics/codealrt.asp > [last] > > > > > > I'm sure the *.exe match should use a different URL inside microsoft, > > but what the heck... I had limited info when I set this up yesterday > > afternoon. > > I don't believe that the worms follow redirects. And what would the > point be anyway? Overload Microsofts servers if we all could get > the worms to go there? > > the above that seems like way too much work; I seem to be getting > away with the following here: > > # Nimda requests > RewriteCond %{HTTP_HOST} ^www\$ > RewriteRule . / [F,L] > RewriteRule ^/default.ida / [F,L] > > (I put the above in the reverse proxy to "shield" the real thing > from the requests on the sites where it matters (like one where I > get a mail for each 404; it got really old really fast with this > Nimda crap). > > Of course it doesn't work if you ever access the host as "www" > without the domain... > > > - ask > > -- > ask bjoern hansen, http://ask.netcetera.dk/ !try; do(); > more than a billion impressions per week, http://valueclick.com >