X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f35c6a97d1837a37879996211bd6f3c8eb356df9..125461cab730871aef4f07e21ac8cf8c165808ee:/IkiWiki/CGI.pm?ds=sidebyside diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index d801c72a0..243662386 100644 --- a/IkiWiki/CGI.pm +++ b/IkiWiki/CGI.pm @@ -336,16 +336,19 @@ sub check_banned ($$) { my $banned=0; my $name=$session->param("name"); + my $cloak=cloak($name) if defined $name; if (defined $name && - grep { $name eq $_ } @{$config{banned_users}}) { + grep { $name eq $_ || $cloak eq $_ } @{$config{banned_users}}) { $banned=1; } foreach my $b (@{$config{banned_users}}) { if (pagespec_match("", $b, ip => $session->remote_addr(), - name => defined $name ? $name : "", - )) { + name => defined $name ? $name : "") + || pagespec_match("", $b, + ip => cloak($session->remote_addr()), + name => defined $cloak ? $cloak : "")) { $banned=1; last; } @@ -413,7 +416,9 @@ sub cgi (;$$) { eval q{use CGI}; error($@) if $@; + no warnings "once"; $CGI::DISABLE_UPLOADS=$config{cgi_disable_uploads}; + use warnings; if (! $q) { binmode(STDIN); @@ -483,6 +488,9 @@ sub cgi (;$$) { sub cgierror ($) { my $message=shift; + eval q{use HTML::Entities}; + $message = encode_entities($message); + print "Content-type: text/html\n\n"; print cgitemplate(undef, gettext("Error"), "
".gettext("Error").": $message
");