📄 edit_acl.cgi
字号:
#!/usr/local/bin/perl# edit_acl.cgi# Display a list of all ACLs and restrictions using themrequire './squid-lib.pl';&header("Access Control", "", undef, 0, 0, 0, &restart_button());$conf = &get_config();print "<hr><p>\n";print "<table border cellpadding=5 width=100%><tr>\n";print "<td rowspan=2 valign=top width=50%>\n";@acl = &find_config("acl", $conf);if (@acl) { # List all defined access control directives print "<h3>Access control lists</h3>\n"; print "<table border width=100%>\n"; print "<tr $tb> <td><b>Name</b></td> <td><b>Type</b></td>\n"; print "<td><b>Matching..</b></td> </tr>\n"; foreach $a (@acl) { @v = @{$a->{'values'}}; print "<tr $cb>\n"; print "<td><a href=\"acl.cgi?index=$a->{'index'}\">", "$v[0]</a></td>\n"; print "<td nowrap>$acl_types{$v[1]}</td>\n"; print "<td>",join(' ', @v[2..$#v]),"</td>\n"; print "</tr>\n"; } print "</table>\n"; }else { print "<b>No ACLs defined</b><br>\n"; }print "<form action=acl.cgi>\n";print "<input type=submit value=\"Create new ACL\">\n";print "<select name=type>\n";foreach $t (sort { $a cmp $b } keys %acl_types) { print "<option value=$t>$acl_types{$t}\n"; }print "</select></form>\n";print "</td><td valign=top width=50%>\n";@http = &find_config("http_access", $conf);if (@http) { print "<h3>Proxy restrictions</h3>\n"; print "<table border width=100%>\n"; print "<tr $tb><td width=10%><b>Action</b></td> <td><b>ACLs</b></td>\n"; print "<td width=10%><b>Move</b></td> </tr>\n"; $hc = 0; foreach $h (@http) { @v = @{$h->{'values'}}; print "<tr $cb>\n"; print "<td><a href=\"http_access.cgi?index=$h->{'index'}\">", "$v[0]</a></td>\n"; print "<td>",join(' ', @v[1..$#v]),"</td>\n"; print "<td>\n"; if ($hc != @http-1) { print "<a href=\"move_http.cgi?$hc+1\">", "<img src=images/down.gif border=0></a>"; } else { print "<img src=images/gap.gif>"; } if ($hc != 0) { print "<a href=\"move_http.cgi?$hc+-1\">", "<img src=images/up.gif border=0></a>"; } print "</td></tr>\n"; $hc++; } print "</table>\n"; }else { print "<b>No proxy restrictions defined</b><br>\n"; }print "<a href=http_access.cgi?new=1>Add proxy restriction</a>\n";print "</td></tr><tr><td valign=top width=50%>\n";@icp = &find_config("icp_access", $conf);if (@icp) { print "<h3>ICP restrictions</h3>\n"; print "<table border width=100%>\n"; print "<tr $tb> <td width=10%><b>Action</b></td> <td><b>ACLs</b></td>\n"; print "<td width=10%><b>Move</b></td> </tr>\n"; $ic = 0; foreach $i (@icp) { @v = @{$i->{'values'}}; print "<tr $cb>\n"; print "<td><a href=\"icp_access.cgi?index=$i->{'index'}\">", "$v[0]</a></td>\n"; print "<td>",join(' ', @v[1..$#v]),"</td>\n"; print "<td>\n"; if ($ic != @icp-1) { print "<a href=\"move_icp.cgi?$ic+1\">", "<img src=images/down.gif border=0></a>"; } else { print "<img src=images/gap.gif>"; } if ($ic != 0) { print "<a href=\"move_icp.cgi?$ic+-1\">", "<img src=images/up.gif border=0></a>"; } print "</td></tr>\n"; $ic++; } print "</table>\n"; }else { print "<b>No ICP restrictions defined</b><br>\n"; }print "<a href=icp_access.cgi?new=1>Add ICP restriction</a>\n";print "</td></tr></table><p>\n";print "<hr>\n";&footer("", "squid index");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -