Revision: 6376 http://ipcop.svn.sourceforge.net/ipcop/?rev=6376&view=rev Author: owes Date: 2012-02-19 16:59:24 +0000 (Sun, 19 Feb 2012) Log Message: ----------- Add texts and text simplification. Remove local repository and redirection to local files. Better handled by something like update accelerator.
Modified Paths: -------------- ipcop/trunk/html/cgi-bin/urlfilter.cgi Modified: ipcop/trunk/html/cgi-bin/urlfilter.cgi =================================================================== --- ipcop/trunk/html/cgi-bin/urlfilter.cgi 2012-02-19 12:19:53 UTC (rev 6375) +++ ipcop/trunk/html/cgi-bin/urlfilter.cgi 2012-02-19 16:59:24 UTC (rev 6376) @@ -66,7 +66,6 @@ my $uqfile = "/var/ipcop/proxy/userquota"; my $dbdir = "/var/ipcop/proxy/blacklists"; my $editdir = "/var/ipcop/proxy/editor"; -my $repository = "/home/httpd/vhost81/html/repository"; my $hintcolour = '#FFFFCC'; my $sourceurlfile = "/var/ipcop/proxy/blacklistupdate/blacklistupdate.urls"; @@ -81,8 +80,6 @@ my $source_url = ''; my $blacklistage = 0; -my @repositorylist = (); -my @repositoryfiles = (); my @categories = (); my @filtergroups = (); my @tclist = (); @@ -174,8 +171,6 @@ if ( (($filtersettings{'ACTION'} eq $Lang::tr{'save'}) && ($filtersettings{'MODE'} eq '')) || ($filtersettings{'ACTION'} eq $Lang::tr{'save and restart'}) - || ($filtersettings{'ACTION'} eq $Lang::tr{'upload file'}) - || ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter remove file'}) || ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter upload blacklist'}) || ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter backup'}) || ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter restore'})) @@ -225,27 +220,6 @@ $filtersettings{'REDIRECT_PAGE'} = "http://" . $filtersettings{'REDIRECT_PAGE'}; } - if ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter remove file'}) { - if (-e "$repository/$filtersettings{'ID'}") { unlink("$repository/$filtersettings{'ID'}"); } - $filtersettings{'ACTION'} = $Lang::tr{'urlfilter manage repository'}; - } - - if ($filtersettings{'ACTION'} eq $Lang::tr{'upload file'}) { - &General::getcgihash(\%filtersettings, {'wantfile' => 1, 'filevar' => 'UPLOADFILE'}); - - $filtersettings{'ACTION'} = $Lang::tr{'urlfilter manage repository'}; - $_ = $filtersettings{'UPLOADFILE'}; - tr/\\/\//; - $_ = substr($_, rindex($_, "/") + 1); - if ($_) { - if (copy($filtersettings{'UPLOADFILE'}, "$repository/$_") != 1) { - $errormessage .= "$!<br />"; - goto ERROR; - } - } - - } - if ($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter upload blacklist'}) { &General::getcgihash(\%filtersettings, {'wantfile' => 1, 'filevar' => 'UPDATEFILE'}); @@ -1212,8 +1186,6 @@ if ((!$tcsettings{'TCMODE'}) && (!$uqsettings{'UQMODE'}) && (!$besettings{'BEMODE'})) { - if (!($filtersettings{'ACTION'} eq $Lang::tr{'urlfilter manage repository'})) { - #========================================================== # # Section: Main Configuration @@ -1391,48 +1363,28 @@ <hr size='1' /> <table width='100%'> <tr> - <td colspan='4'><b>$Lang::tr{'urlfilter file ext block'}</b></td> -</tr> -<tr> - <td width='25%' class='base'>$Lang::tr{'urlfilter block executables'}:</td> - <td width='25%'><input type='checkbox' name='BLOCK_EXECUTABLES' $checked{'BLOCK_EXECUTABLES'}{'on'} /></td> - <td width='25%' class='base'>$Lang::tr{'urlfilter block audio-video'}:</td> - <td width='25%'><input type='checkbox' name='BLOCK_AUDIO-VIDEO' $checked{'BLOCK_AUDIO-VIDEO'}{'on'} /></td> -</tr> -<tr> - <td>$Lang::tr{'urlfilter block archives'}:</td> - <td><input type='checkbox' name='BLOCK_ARCHIVES' $checked{'BLOCK_ARCHIVES'}{'on'} /></td> - <td> </td> - <td> </td> -</tr> -</table> -<hr size='1'> -<table width='100%'> -<tr> - <td colspan='4'><b>$Lang::tr{'urlfilter local file redirection'}</b></td> -</tr> -<tr> - <td width='25%'>$Lang::tr{'urlfilter enable rewrite rules'}:</td> - <td width='25%'><input type='checkbox' name='ENABLE_REWRITE' $checked{'ENABLE_REWRITE'}{'on'} /></td> - <td width='25%'> </td> - <td width='25%'> </td> -</tr> -<tr> - <td><input type='submit' name='ACTION' value='$Lang::tr{'urlfilter manage repository'}'></td> + <td colspan='4'><b>$Lang::tr{'file extension blocking'}</b></td> +</tr><tr> + <td width='25%' class='base'>$Lang::tr{'binary files'}:</td> + <td width='25%'><input type='checkbox' name='BLOCK_EXECUTABLES' $checked{'BLOCK_EXECUTABLES'}{'on'} /></td> + <td width='25%' class='base'>$Lang::tr{'multimedia'}:</td> + <td width='25%'><input type='checkbox' name='BLOCK_AUDIO-VIDEO' $checked{'BLOCK_AUDIO-VIDEO'}{'on'} /></td> +</tr><tr> + <td>$Lang::tr{'compressed archive files'}:</td> + <td><input type='checkbox' name='BLOCK_ARCHIVES' $checked{'BLOCK_ARCHIVES'}{'on'} /></td> <td> </td> <td> </td> - <td> </td> </tr> </table> <hr size='1'> <table width='100%'> <tr> - <td width='50'><b>$Lang::tr{'urlfilter network access control'}</b></td> + <td width='50'><b>$Lang::tr{'network based access'}</b></td> <td width='50%'> </td> </tr> <tr> - <td>$Lang::tr{'urlfilter unfiltered clients'} <img src='/blob.gif' alt='*' /></td> - <td >$Lang::tr{'urlfilter banned clients'} <img src='/blob.gif' alt='*' /></td> + <td>$Lang::tr{'unrestricted ip clients'} <img src='/blob.gif' alt='*' /></td> + <td >$Lang::tr{'banned ip clients'} <img src='/blob.gif' alt='*' /></td> </tr> <tr> <td><textarea name='UNFILTERED_CLIENTS' cols='32' rows='6' wrap='off'> @@ -1484,11 +1436,11 @@ <hr size='1'> <table width='100%'> <tr> - <td colspan='4'><b>$Lang::tr{'urlfilter timebased access control'}</b></td> + <td colspan='4'><b>$Lang::tr{'timebased access control'}</b></td> </tr> <tr> - <td width='25%'><input type='submit' name='ACTION' value='$Lang::tr{'urlfilter set time constraints'}'></td> - <td width='25%'><input type='submit' name='ACTION' value='$Lang::tr{'urlfilter set user quota'}'></td> + <td width='25%'><input type='submit' name='ACTION' value='$Lang::tr{'set time constraints'}'></td> + <td width='25%'><input type='submit' name='ACTION' value='$Lang::tr{'set user quota'}'></td> <td width='25%'> </td> <td width='25%'> </td> </tr> @@ -1496,30 +1448,30 @@ <hr size='1'> <table width='100%'> <tr> - <td colspan='4'><b>$Lang::tr{'urlfilter block settings'}</b></td> + <td colspan='4'><b>$Lang::tr{'block page settings'}</b></td> </tr> <tr> - <td width='25%' class='base'>$Lang::tr{'urlfilter show category'}:</td> + <td width='25%' class='base'>$Lang::tr{'show category on block page'}:</td> <td width='25%'><input type='checkbox' name='SHOW_CATEGORY' $checked{'SHOW_CATEGORY'}{'on'} /></td> - <td width='25%' class='base'>$Lang::tr{'urlfilter redirectpage'}: <img src='/blob.gif' alt='*' /></td> + <td width='25%' class='base'>$Lang::tr{'redirect to this url'}: <img src='/blob.gif' alt='*' /></td> <td width='25%'><input type='text' name='REDIRECT_PAGE' value='$filtersettings{'REDIRECT_PAGE'}' size='40' /></td> </tr> <tr> - <td class='base'>$Lang::tr{'urlfilter show url'}:</td> + <td class='base'>$Lang::tr{'show url on block page'}:</td> <td><input type='checkbox' name='SHOW_URL' $checked{'SHOW_URL'}{'on'} /></td> - <td class='base'>$Lang::tr{'urlfilter msg text 1'}: <img src='/blob.gif' alt='*' /></td> + <td class='base'>$Lang::tr{'message line 1'}: <img src='/blob.gif' alt='*' /></td> <td><input type='text' name='MSG_TEXT_1' value='$filtersettings{'MSG_TEXT_1'}' size='40' /></td> </tr> <tr> - <td class='base'>$Lang::tr{'urlfilter show ip'}:</td> + <td class='base'>$Lang::tr{'show ip on block page'}:</td> <td><input type='checkbox' name='SHOW_IP' $checked{'SHOW_IP'}{'on'} /></td> - <td class='base'>$Lang::tr{'urlfilter msg text 2'}: <img src='/blob.gif' alt='*' /></td> + <td class='base'>$Lang::tr{'message line 2'}: <img src='/blob.gif' alt='*' /></td> <td><input type='text' name='MSG_TEXT_2' value='$filtersettings{'MSG_TEXT_2'}' size='40' /></td> </tr> <tr> - <td class='base'>$Lang::tr{'urlfilter show dnserror'}:</td> + <td class='base'>$Lang::tr{'use dns error to block'}:</td> <td><input type='checkbox' name='ENABLE_DNSERROR' $checked{'ENABLE_DNSERROR'}{'on'} /></td> - <td class='base'>$Lang::tr{'urlfilter msg text 3'}: <img src='/blob.gif' alt='*' /></td> + <td class='base'>$Lang::tr{'message line 3'}: <img src='/blob.gif' alt='*' /></td> <td><input type='text' name='MSG_TEXT_3' value='$filtersettings{'MSG_TEXT_3'}' size='40' /></td> </tr> <tr> @@ -1535,33 +1487,33 @@ <td colspan='4'><b>$Lang::tr{'adv options'}</b></td> </tr> <tr> - <td width='25%' class='base'>$Lang::tr{'urlfilter enable expression lists'}:</td> + <td width='25%' class='base'>$Lang::tr{'enable expression lists'}:</td> <td width='25%'><input type='checkbox' name='ENABLE_EXPR_LISTS' $checked{'ENABLE_EXPR_LISTS'}{'on'} /></td> <td width='25%' class='base'>$Lang::tr{'log enabled'}:</td> <td width='25%'><input type='checkbox' name='ENABLE_LOG' $checked{'ENABLE_LOG'}{'on'} /></td> </tr> <tr> - <td class='base'>$Lang::tr{'urlfilter safesearch'}:</td> + <td class='base'>$Lang::tr{'enable safesearch'}:</td> <td><input type='checkbox' name='ENABLE_SAFESEARCH' $checked{'ENABLE_SAFESEARCH'}{'on'} /></td> <td class='base'>$Lang::tr{'log username'}:</td> <td><input type='checkbox' name='ENABLE_USERNAME_LOG' $checked{'ENABLE_USERNAME_LOG'}{'on'} /></td> </tr> <tr> - <td class='base'>$Lang::tr{'urlfilter empty ads'}:</td> + <td class='base'>$Lang::tr{'block ads with empty window'}:</td> <td><input type='checkbox' name='ENABLE_EMPTY_ADS' $checked{'ENABLE_EMPTY_ADS'}{'on'} /></td> - <td class='base'>$Lang::tr{'urlfilter category log'}:</td> + <td class='base'>$Lang::tr{'split log by category'}:</td> <td><input type='checkbox' name='ENABLE_CATEGORY_LOG' $checked{'ENABLE_CATEGORY_LOG'}{'on'} /></td> </tr> <tr> - <td class='base'>$Lang::tr{'urlfilter block ip'}:</td> + <td class='base'>$Lang::tr{'block sites accessed by ip address'}:</td> <td><input type='checkbox' name='BLOCK_IP_ADDR' $checked{'BLOCK_IP_ADDR'}{'on'} /></td> <td class='base'> </td> <td> </td> </tr> <tr> - <td class='base'>$Lang::tr{'urlfilter block all'}:</td> + <td class='base'>$Lang::tr{'block all urls not explicitly allowed'}:</td> <td><input type='checkbox' name='BLOCK_ALL' $checked{'BLOCK_ALL'}{'on'} /></td> - <td class='base'>$Lang::tr{'urlfilter whitelist always allowed'}:</td> + <td class='base'>$Lang::tr{'allow custom whitelist for banned clients'}:</td> <td><input type='checkbox' name='ENABLE_GLOBAL_WHITELIST' $checked{'ENABLE_GLOBAL_WHITELIST'}{'on'} /></td> </tr> </table> @@ -1580,7 +1532,7 @@ </tr> </table> END - ; + ; &Header::closebox(); @@ -1748,118 +1700,6 @@ ; &Header::closebox(); - - } - else { - - #========================================================== - # - # Section: Manage Repository - # - #========================================================== - - print "<form method='post' action='$ENV{'SCRIPT_NAME'}' enctype='multipart/form-data'>\n"; - - &Header::openbox('100%', 'left', "$Lang::tr{'urlfilter manage local file repository'}:"); - print <<END -<table width='100%'> -<tr> - <td>$Lang::tr{'urlfilter repository information'}<br><br></td> -</tr> -<tr> - <td>$Lang::tr{'urlfilter upload file text'}:</td> -</tr> -<tr> - <td><input type='file' name='UPLOADFILE' size='50' /> <input type='submit' name='ACTION' value='$Lang::tr{'upload file'}' /></td> -</tr> -<tr> - <td><br><b>$Lang::tr{'note'}:</b> $Lang::tr{'urlfilter upload file information 2'}</td> -</tr> -</table> -<hr> -<table width='100%'><tr> - <td width='10%'><a href='/cgi-bin/urlfilter.cgi'><img src='/images/back.png' alt='$Lang::tr{'back'}' title='$Lang::tr{'back'}' /></a></td> - <td> </td> -</tr></table> -</form> -END - ; - - &Header::closebox(); - - &Header::openbox('100%', 'left', "$Lang::tr{'urlfilter current files'}: </b>[$repository]"); - - @repositorylist = <$repository/*>; - - undef @repositoryfiles; - foreach (@repositorylist) { - if (!-d) { push(@repositoryfiles, substr($_, rindex($_, "/") + 1)); } - } - - if (@repositoryfiles) { - print <<END -<table width='100%'> -<tr> - <td align='center'><b>$Lang::tr{'name'}</b></td> - <td width='15%' align='center'><b>$Lang::tr{'size'}</b></td> - <td width='10%'></td> -</tr> -END - ; - $id = 0; - foreach $line (@repositoryfiles) { - $id++; - if ($id % 2) { - print "<tr class='table1colour'>\n"; - } - else { - print "<tr class='table2colour'>\n"; - } - $filesize = (-s "$repository/$line"); - 1 while $filesize =~ s/^(-?\d+)(\d{3})/$1.$2/; - - print <<END - <td> $line</td> - <td align='right'>$filesize </td> - - <td align='center'> - <form method='post' name='frma$id' action='$ENV{'SCRIPT_NAME'}'> - <input type='image' name='$Lang::tr{'remove'}' src='/images/delete.gif' title='$Lang::tr{'remove'}' alt='$Lang::tr{'remove'}' /> - <input type='hidden' name='ID' value='$line' /> - <input type='hidden' name='ACTION' value='$Lang::tr{'urlfilter remove file'}' /> - </form> - </td> - - </tr> -END - ; - } - - print <<END -</table> -<table> - <tr> - </tr> -</table> -<table> - <tr> - <td class='boldbase'> <b>$Lang::tr{'legend'}:</b></td> - <td> <img src='/images/delete.gif' alt='$Lang::tr{'remove'}' /></td> - <td class='base'>$Lang::tr{'remove'}</td> - </tr> -</table> -END - ; - } - else { - - print "<i>$Lang::tr{'urlfilter empty repository'}</i>\n"; - } - - &Header::closebox(); - - } - } elsif ($tcsettings{'TCMODE'}) { @@ -3178,50 +3018,16 @@ print FILE "syslog enable\n"; print FILE "dbhome $dbdir\n\n"; - undef @repositoryfiles; - if ($filtersettings{'ENABLE_REWRITE'} eq 'on') { - @repositorylist = <$repository/*>; - foreach (@repositorylist) { - if (!-d) { push(@repositoryfiles, substr($_, rindex($_, "/") + 1)); } - } - } - - if ( (($filtersettings{'ENABLE_REWRITE'} eq 'on') && (@repositoryfiles)) - || ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on')) - { + if ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on') { print FILE "rewrite rew-rule-1 {\n"; + print FILE " # rewrite safesearch\n"; + print FILE " s@(.*\\Wgoogle\\.\\w+/(webhp|search|imghp|images|grphp|groups|frghp|froogle)\\?)(.*)(\\bsafe=\\w+)(.*)\@\\1\\3safe=strict\\5\@i\n"; + print FILE " s@(.*\\Wgoogle\\.\\w+/(webhp|search|imghp|images|grphp|groups|frghp|froogle)\\?)(.*)\@\\1safe=strict\\\&\\3\@i\n"; + print FILE " s@(.*\\Wsearch\\.yahoo\\.\\w+/search\\W)(.*)(\\bvm=\\w+)(.*)\@\\1\\2vm=r\\4\@i\n"; + print FILE " s@(.*\\Wsearch\\.yahoo\\.\\w+/search\\W.*)\@\\1\\\&vm=r\@i\n"; + print FILE " s@(.*\\Walltheweb\\.com/customize\\?)(.*)(\\bcopt_offensive=\\w+)(.*)\@\\1\\2copt_offensive=on\\4\@i\n"; - if (($filtersettings{'ENABLE_REWRITE'} eq 'on') && (@repositoryfiles)) { - print FILE " # rewrite localfiles\n"; - foreach (@repositoryfiles) { - print FILE " s@.*/$_\$\@http://$netsettings{'GREEN_1_ADDRESS'}:$http_port/repository/$_\@i\n"; - } - } - - if ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on') { - print FILE " # rewrite safesearch\n"; - print FILE " s@(.*\\Wgoogle\\.\\w+/(webhp|search|imghp|images|grphp|groups|frghp|froogle)\\?)(.*)(\\bsafe=\\w+)(.*)\@\\1\\3safe=strict\\5\@i\n"; - print FILE " s@(.*\\Wgoogle\\.\\w+/(webhp|search|imghp|images|grphp|groups|frghp|froogle)\\?)(.*)\@\\1safe=strict\\\&\\3\@i\n"; - print FILE " s@(.*\\Wsearch\\.yahoo\\.\\w+/search\\W)(.*)(\\bvm=\\w+)(.*)\@\\1\\2vm=r\\4\@i\n"; - print FILE " s@(.*\\Wsearch\\.yahoo\\.\\w+/search\\W.*)\@\\1\\\&vm=r\@i\n"; - print FILE " s@(.*\\Walltheweb\\.com/customize\\?)(.*)(\\bcopt_offensive=\\w+)(.*)\@\\1\\2copt_offensive=on\\4\@i\n"; - } - print FILE "}\n\n"; - - if ((!($filtersettings{'UNFILTERED_CLIENTS'} eq '')) && ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on')) { - print FILE "rewrite rew-rule-2 {\n"; - if (($filtersettings{'ENABLE_REWRITE'} eq 'on') && (@repositoryfiles)) { - print FILE " # rewrite localfiles\n"; - foreach (@repositoryfiles) { - print FILE " s@.*/$_\$\@http://$netsettings{'GREEN_1_ADDRESS'}:$http_port/repository/$_\@i\n"; - } - } - else { - print FILE " # rewrite nothing\n"; - } - print FILE "}\n\n"; - } } if (!($filtersettings{'UNFILTERED_CLIENTS'} eq '')) { @@ -3525,9 +3331,7 @@ print FILE " logfile" . $ident . " urlfilter.log\n"; } } - if ( (($filtersettings{'ENABLE_REWRITE'} eq 'on') && (@repositoryfiles)) - || ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on')) - { + if ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on') { print FILE " rewrite rew-rule-1\n"; } print FILE " redirect $redirect\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Ipcop-svn mailing list Ipcop-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ipcop-svn