#!/usr/local/bin/perl #↑perlの存在するパスに変更 # require "cgi-lib.pl"; require "network.pl"; require "www.pl"; { $ScN = $ENV{'SCRIPT_NAME'}; $SvN = $ENV{'SERVER_NAME'}; $ThisCGI = "http://$SvN$ScN"; &ReadParse(*input); select(STDOUT); $| = 1; print &PrintHeader; $url = $input{'URL'}; ($status, $memo) = &www'open_http_url(*IN, $url); if ($status ne 'ok') { print &HtmlTop("エラー"); print "
";
		print "$memo\nということで、アクセスできません。\n";
		print "
"; print &HtmlBot; } else { $jsst = $input{'JSST'}; $blnk = $input{'BLNK'}; $flbd = $input{'FLBD'}; print "\n"; $url =~ s|(.*/)[^/]*$|$1|; $server = $url; $server =~ s|(http://[^ /]*/).*|$1|; $jsin = 0; $flin = 0; $X = "0"; while() { if (/href/i) { s|(href *= *"? *)(http[^ >]*\.s?html?)|$1$ThisCGI?JSST=$jsst&BLNK=$blnk&FLBD=$flbd&URL=$2|gi; s|(href *= *"? *)(http[^ >]*/ *"? *>)|$1$ThisCGI?JSST=$jsst&BLNK=$blnk&FLBD=$flbd&URL=$2|gi; s|(href *= *"? *)/([^ :>]*\.s?html?)|$1$ThisCGI?JSST=$jsst&BLNK=$blnk&FLBD=$flbd&URL=$server$2|gi; s|(href *= *"? *)([^ :>]*\.s?html?)|$1$ThisCGI?JSST=$jsst&BLNK=$blnk&FLBD=$flbd&URL=$url$2|gi; s|(href *= *"? *)/([^ :>]*/ *"? *>)|$1$ThisCGI?JSST=$jsst&BLNK=$blnk&FLBD=$flbd&URL=$server$2|gi; s|(href *= *"? *)([^ :>]*/ *"? *>)|$1$ThisCGI?JSST=$jsst&BLNK=$blnk&FLBD=$flbd&URL=$url$2|gi; } if (/frame/i) { s|(frame *[^>]*src *= *"? *)([^ :>]*\.s?html?)|$1$ThisCGI?JSST=$jsst&BLNK=$blnk&FLBD=$flbd&URL=$url$2|gi; } if ($jsst) { if ($jsin == 0) { $jsin = 1 if (/< *script.*javascript.*>/i); } if ($jsin) { s/[^;]*window\.status[\t ]*=[^;]*;/;/gi; s/[\t ]*status[\t ]*=[^;]*;/;/gi; $jsin = 0 if (m|< */script *>|i); } } if ($blnk) { s|<[\t ]*/?blink[\t ]*>||gi; } if ($flbd) { if ($flin < 1) { if (/<[\t ]*frameset[^>]*>/i) { $flin += 1; if (s/(<[\t ]*frameset[^>]*border[\t ]*=[\t ]*"?)[0-9]*("?[^>]*>)/$1$X$2/gi == 0) { s/(<[\t ]*frameset)([^>]*>)/$1 border="0"$2/gi; } } } if ($flin) { s/(< *frame *[^>]*border *= *"?)[0-9]*("?[^>]*>)/$1$X$2/gi; $flin -= 1 if (m|< */frameset *>|i); } } print; } } }