]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - html/cgi-bin/urlfilter.cgi
URL Filter: Drop Safe Search feature
[people/pmueller/ipfire-2.x.git] / html / cgi-bin / urlfilter.cgi
index 82d9d7181fa513c69891c0925d0d820e2f507880..28ffc8114ffee62faafe6c75fcb40fc45a4eea7e 100644 (file)
@@ -138,7 +138,6 @@ $filtersettings{'BLOCK_IP_ADDR'} = 'off';
 $filtersettings{'BLOCK_ALL'} = 'off';
 $filtersettings{'ENABLE_EMPTY_ADS'} = 'off';
 $filtersettings{'ENABLE_GLOBAL_WHITELIST'} = 'off';
-$filtersettings{'ENABLE_SAFESEARCH'} = 'off';
 $filtersettings{'ENABLE_LOG'} = 'off';
 $filtersettings{'ENABLE_USERNAME_LOG'} = 'off';
 $filtersettings{'ENABLE_CATEGORY_LOG'} = 'off';
@@ -1057,9 +1056,6 @@ $checked{'ENABLE_EMPTY_ADS'}{$filtersettings{'ENABLE_EMPTY_ADS'}} = "checked='ch
 $checked{'ENABLE_GLOBAL_WHITELIST'}{'off'} = '';
 $checked{'ENABLE_GLOBAL_WHITELIST'}{'on'} = '';
 $checked{'ENABLE_GLOBAL_WHITELIST'}{$filtersettings{'ENABLE_GLOBAL_WHITELIST'}} = "checked='checked'";
-$checked{'ENABLE_SAFESEARCH'}{'off'} = '';
-$checked{'ENABLE_SAFESEARCH'}{'on'} = '';
-$checked{'ENABLE_SAFESEARCH'}{$filtersettings{'ENABLE_SAFESEARCH'}} = "checked='checked'";
 $checked{'ENABLE_LOG'}{'off'} = '';
 $checked{'ENABLE_LOG'}{'on'} = '';
 $checked{'ENABLE_LOG'}{$filtersettings{'ENABLE_LOG'}} = "checked='checked'";
@@ -1214,8 +1210,8 @@ print <<END
         <td>&nbsp;</td>
 </tr>
 <tr>
-       <td colspan='2'>$Lang::tr{'urlfilter blocked domains'}&nbsp;<img src='/blob.gif' alt='*' /></td>
-       <td colspan='2'>$Lang::tr{'urlfilter blocked urls'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td colspan='2'>$Lang::tr{'urlfilter blocked domains'}</td>
+       <td colspan='2'>$Lang::tr{'urlfilter blocked urls'}</td>
 </tr>
 <tr>
        <td colspan='2'>$Lang::tr{'urlfilter example'}</td>
@@ -1257,8 +1253,8 @@ print <<END
         <td>&nbsp;</td>
 </tr>
 <tr>
-       <td colspan='2'>$Lang::tr{'urlfilter allowed domains'}&nbsp;<img src='/blob.gif' alt='*' /></td>
-       <td colspan='2'>$Lang::tr{'urlfilter allowed urls'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td colspan='2'>$Lang::tr{'urlfilter allowed domains'}</td>
+       <td colspan='2'>$Lang::tr{'urlfilter allowed urls'}</td>
 </tr>
 <tr>
        <td colspan='2'>$Lang::tr{'urlfilter example'}</td>
@@ -1297,7 +1293,7 @@ print <<END
         <td colspan='4'><b>$Lang::tr{'urlfilter custom expression list'}</b></td>
 </tr>
 <tr>
-       <td colspan='4'>$Lang::tr{'urlfilter blocked expressions'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td colspan='4'>$Lang::tr{'urlfilter blocked expressions'}</td>
 </tr>
 <tr>
        <td colspan='4'><textarea name='CUSTOM_EXPRESSIONS' cols='70' rows='3' wrap='off'>
@@ -1360,8 +1356,8 @@ print <<END
         <td>&nbsp;</td>
 </tr>
 <tr>
-       <td colspan='2'>$Lang::tr{'urlfilter unfiltered clients'}&nbsp;<img src='/blob.gif' alt='*' /></td>
-       <td colspan='2'>$Lang::tr{'urlfilter banned clients'}&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td colspan='2'>$Lang::tr{'urlfilter unfiltered clients'}</td>
+       <td colspan='2'>$Lang::tr{'urlfilter banned clients'}</td>
 </tr>
 <tr>
        <td colspan='2' width='50%'><textarea name='UNFILTERED_CLIENTS' cols='32' rows='6' wrap='off'>
@@ -1440,25 +1436,25 @@ print <<END
 <tr>
        <td width='25%' class='base'>$Lang::tr{'urlfilter show category'}:</td>
        <td width='12%'><input type='checkbox' name='SHOW_CATEGORY' $checked{'SHOW_CATEGORY'}{'on'} /></td>
-       <td width='25%' class='base'>$Lang::tr{'urlfilter redirectpage'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td width='25%' class='base'>$Lang::tr{'urlfilter redirectpage'}:</td>
        <td><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><input type='checkbox' name='SHOW_URL' $checked{'SHOW_URL'}{'on'} /></td>
-       <td class='base'>$Lang::tr{'urlfilter msg text 1'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td class='base'>$Lang::tr{'urlfilter msg text 1'}:</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><input type='checkbox' name='SHOW_IP' $checked{'SHOW_IP'}{'on'} /></td>
-       <td class='base'>$Lang::tr{'urlfilter msg text 2'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td class='base'>$Lang::tr{'urlfilter msg text 2'}:</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><input type='checkbox' name='ENABLE_DNSERROR' $checked{'ENABLE_DNSERROR'}{'on'} /></td>
-       <td class='base'>$Lang::tr{'urlfilter msg text 3'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
+       <td class='base'>$Lang::tr{'urlfilter msg text 3'}:</td>
        <td><input type='text' name='MSG_TEXT_3' value='$filtersettings{'MSG_TEXT_3'}' size='40' /></td>
 </tr>
 </table>
@@ -1473,21 +1469,17 @@ print <<END
        <td width='25%' class='base'>$Lang::tr{'urlfilter enable log'}:</td>
        <td><input type='checkbox' name='ENABLE_LOG' $checked{'ENABLE_LOG'}{'on'} /></td>
 </tr>
-<tr>
-       <td class='base'>$Lang::tr{'urlfilter safesearch'}:</td>
-       <td><input type='checkbox' name='ENABLE_SAFESEARCH' $checked{'ENABLE_SAFESEARCH'}{'on'} /></td>
-       <td class='base'>$Lang::tr{'urlfilter username log'}:</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><input type='checkbox' name='ENABLE_EMPTY_ADS' $checked{'ENABLE_EMPTY_ADS'}{'on'} /></td>
-       <td class='base'>$Lang::tr{'urlfilter category log'}:</td>
-       <td><input type='checkbox' name='ENABLE_CATEGORY_LOG' $checked{'ENABLE_CATEGORY_LOG'}{'on'} /></td>
+       <td class='base'>$Lang::tr{'urlfilter username log'}:</td>
+       <td><input type='checkbox' name='ENABLE_USERNAME_LOG' $checked{'ENABLE_USERNAME_LOG'}{'on'} /></td>
 </tr>
 <tr>
        <td class='base'>$Lang::tr{'urlfilter block ip'}:</td>
        <td><input type='checkbox' name='BLOCK_IP_ADDR' $checked{'BLOCK_IP_ADDR'}{'on'} /></td>
+       <td class='base'>$Lang::tr{'urlfilter category log'}:</td>
+       <td><input type='checkbox' name='ENABLE_CATEGORY_LOG' $checked{'ENABLE_CATEGORY_LOG'}{'on'} /></td>
 </tr>
 <tr>
        <td class='base'>$Lang::tr{'urlfilter block all'}:</td>
@@ -1499,12 +1491,8 @@ print <<END
 <hr size='1'>
 <table width='100%'>
 <tr>
-       <td>
-       <img src='/blob.gif' align='top' alt='*' />&nbsp;
-       <font class='base'>$Lang::tr{'this field may be blank'}</font>
-       </td>
-       <td align='right'>&nbsp;
-       </td>
+       <td><img src='/blob.gif' align='top' alt='*' />&nbsp;<font class='base'>$Lang::tr{'required field'}</font></td>
+       <td align='right'>&nbsp;</td>
 </tr>
 </table>
 <table width='100%'>
@@ -1880,9 +1868,9 @@ print <<END
 
 <table width='100%'>
        <tr>
-               <td width='5%'>$Lang::tr{'urlfilter source'}</td>
+               <td width='5%'>$Lang::tr{'urlfilter source'}&nbsp;<img src='/blob.gif' alt='*' /></td>
                <td width='1%'>&nbsp;&nbsp;</td>
-               <td width='5%'>$Lang::tr{'urlfilter dst'}&nbsp;<img src='/blob.gif' alt='*'><img src='/blob.gif' alt='*'></td>
+               <td width='5%'>$Lang::tr{'urlfilter dst'}&nbsp;<img src='/blob.gif' alt='*' /></td>
                <td width='1%'>&nbsp;&nbsp;</td>
                <td width='5%'>$Lang::tr{'urlfilter access'}</td>
                <td>&nbsp;</td>
@@ -1943,7 +1931,7 @@ print <<END
                <td>&nbsp;</td>
        </tr>
        <tr>
-               <td>$Lang::tr{'remark'}&nbsp;<img src='/blob.gif' alt='*'></td>
+               <td>$Lang::tr{'remark'}</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
                <td>&nbsp;</td>
@@ -1982,10 +1970,10 @@ print <<END
 <table width='100%'>
        <tr>
                <td width='1%' align='right'> <img src='/blob.gif' align='top' alt='*' />&nbsp;</td>
-               <td><font class='base'>$Lang::tr{'this field may be blank'}</font></td>
+               <td><font class='base'>$Lang::tr{'required field'}</font></td>
        </tr>
        <tr>
-               <td width='1%' align='right'><img src='/blob.gif' align='top' alt='*' /><img src='/blob.gif' align='top' alt='*' />&nbsp;</td>
+               <td width='1%' align='right'>&nbsp;</td>
                <td><font class='base'>$Lang::tr{'urlfilter select multi'}</font></td>
        </tr>
 </table>
@@ -2168,7 +2156,7 @@ print <<END
        <td width='25%'></td> <td width='20%'> </td><td width='25%'> </td><td width='30%'></td>
 </tr>
 <tr>
-        <td class='base'>$Lang::tr{'urlfilter user time quota'}:</td>
+        <td class='base'>$Lang::tr{'urlfilter user time quota'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
         <td><input type='text' name='TIME_QUOTA' value='$uqsettings{'TIME_QUOTA'}' size='5' /></td>
        <td colspan='2' rowspan= '5' valign='top' class='base'>
                <table cellpadding='0' cellspacing='0'>
@@ -2176,7 +2164,7 @@ print <<END
                                <!-- intentionally left empty -->
                        </tr>
                        <tr>
-                       <td>$Lang::tr{'urlfilter assigned quota users'}:</td>
+                       <td>$Lang::tr{'urlfilter assigned quota users'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
                        </tr>
                        <tr>
                                <!-- intentionally left empty -->
@@ -2374,7 +2362,7 @@ print <<END
                <td class='base'><b>$Lang::tr{'urlfilter blacklist name'}</b></td>
 </tr>
 <tr>
-               <td class='base'>$Lang::tr{'urlfilter blacklist category name'}:</td>
+               <td class='base'>$Lang::tr{'urlfilter blacklist category name'}:&nbsp;<img src='/blob.gif' alt='*' /></td>
        <td><input type='text' name='BE_NAME' value='$besettings{'BE_NAME'}' size='12' /></td>
 </tr>
 </table>
@@ -2384,7 +2372,7 @@ print <<END
        <td width='25%'></td> <td width='20%'> </td><td width='25%'> </td><td width='20%'></td>
 </tr>
 <tr>
-               <td class='base' colspan='4'><b>$Lang::tr{'urlfilter edit domains urls expressions'}</b></td>
+               <td class='base' colspan='4'><b>$Lang::tr{'urlfilter edit domains urls expressions'}</b>&nbsp;<img src='/blob.gif' alt='*' /></td>
 </tr>
 <tr>
        <td colspan='2'>$Lang::tr{'urlfilter domains'}</td>
@@ -2722,9 +2710,9 @@ sub setpermissions
 
 sub writeconfigfile
 {
-       my $executables = "\\.\(ade|adp|asx|bas|bat|chm|com|cmd|cpl|crt|dll|eml|exe|hiv|hlp|hta|inc|inf|ins|isp|jse|jtd|lnk|msc|msh|msi|msp|mst|nws|ocx|oft|ops|pcd|pif|plx|reg|scr|sct|sha|shb|shm|shs|sys|tlb|tsp|url|vbe|vbs|vxd|wsc|wsf|wsh\)\$";
-       my $audiovideo = "\\.\(aiff|asf|avi|dif|divx|mov|movie|mp3|mpe?g?|mpv2|ogg|ra?m|snd|qt|wav|wma|wmf|wmv\)\$";
-       my $archives = "\\.\(bin|bz2|cab|cdr|dmg|gz|hqx|rar|smi|sit|sea|tar|tgz|zip\)\$";
+       my $executables = "/[^/]*\\.\(ade|adp|asx|bas|bat|chm|com|cmd|cpl|crt|dll|eml|exe|hiv|hlp|hta|inc|inf|ins|isp|jse|jtd|lnk|msc|msh|msi|msp|mst|nws|ocx|oft|ops|pcd|pif|plx|reg|scr|sct|sha|shb|shm|shs|sys|tlb|tsp|url|vbe|vbs|vxd|wsc|wsf|wsh\)\$";
+       my $audiovideo = "/[^/]*\\.\(aiff|asf|avi|dif|divx|flv|mkv|mov|movie|mp3|mp4|mpe?g?|mpv2|ogg|ra?m|snd|qt|wav|wma|wmf|wmv\)\$";
+       my $archives = "/[^/]*\\.\(7z|bin|bz2|cab|cdr|dmg|gz|hqx|rar|smi|sit|sea|tar|tgz|zip\)\$";
 
        my $ident = " anonymous";
 
@@ -2838,47 +2826,15 @@ sub writeconfigfile
                }
        }
 
-       if ((($filtersettings{'ENABLE_REWRITE'} eq 'on') && (@repositoryfiles)) || ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on'))
-       {
+       if (($filtersettings{'ENABLE_REWRITE'} eq 'on') && (@repositoryfiles)) {
                print FILE "rewrite rew-rule-1 {\n";
 
-               if (($filtersettings{'ENABLE_REWRITE'} eq 'on') && (@repositoryfiles))
-               {
-                       print FILE "    # rewrite localfiles\n";
-                       foreach (@repositoryfiles)
-                       {
-                               print FILE "    s@.*/$_\$\@http://$netsettings{'GREEN_ADDRESS'}:$http_port/repository/$_\@i\n";
-                       }
-               }
-
-               if ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on')
+               print FILE "    # rewrite localfiles\n";
+               foreach (@repositoryfiles)
                {
-                       print FILE "    # rewrite safesearch\n";
-                       print FILE "    s@(.*\\Wgoogle\\.\\w+/(webhp|search|imghp|images|grphp|groups|nwshp|frghp|froogle)\\?)(.*)(\\bsafe=\\w+)(.*)\@\\1\\3safe=strict\\5\@i\n";
-                       print FILE "    s@(.*\\Wgoogle\\.\\w+/(webhp|search|imghp|images|grphp|groups|nwshp|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 "    s@(.*\\Wbing\\.\\w+/)(.*)(\\badlt=\\w+)(.*)\@\\1\\2adlt=strict\\4\@i\n";
-                       print FILE "    s@(.*\\Wbing\\.\\w+/.*)\@\\1\\\&adlt=strict\@i\n";
+                       print FILE "    s@.*/$_\$\@http://$netsettings{'GREEN_ADDRESS'}:$http_port/repository/$_\@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_ADDRESS'}:$http_port/repository/$_\@i\n";
-                               }
-                       } else {
-                               print FILE "    # rewrite nothing\n";
-                       }
-                       print FILE "}\n\n";
-               }
        }
 
        if (!($filtersettings{'UNFILTERED_CLIENTS'} eq '')) {
@@ -3087,10 +3043,6 @@ sub writeconfigfile
        if (!($filtersettings{'UNFILTERED_CLIENTS'} eq '')) {
                print FILE "    unfiltered {\n";
                print FILE "        pass all\n";
-               if ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on')
-               {
-                       print FILE "        rewrite rew-rule-2\n";
-               }
                print FILE "    }\n\n";
        }
        if (!($filtersettings{'BANNED_CLIENTS'} eq '')) {
@@ -3219,7 +3171,7 @@ sub writeconfigfile
                        print FILE "        logfile".$ident." urlfilter.log\n";
                }
        }
-       if ((($filtersettings{'ENABLE_REWRITE'} eq 'on') && (@repositoryfiles)) || ($filtersettings{'ENABLE_SAFESEARCH'} eq 'on'))
+       if (($filtersettings{'ENABLE_REWRITE'} eq 'on') && (@repositoryfiles))
        {
                print FILE "        rewrite rew-rule-1\n";
        }