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
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn