Hallo Nick.
if($archiv =~ m/$suche::volltext/ig) [...]
Könnte hierbei nun ein Sicherheitsproblem auftreten? Immerhin können die Benutzer alles mögliche in das Suche-Feld eingeben.
Ja, das können sie. So lange du den eingegebenen Suchstring jedoch weder im CGI-Kontext auslieferst oder ihn anderweitig "ausführen" lässt, sehe ich in diesem speziellen Fall kein Sicherheitsrisiko, wenn du ihn zuvor auf Gültigkeit hin untersucht hast. Das könnte z.B. so aussehen:
my $muster = '\w{3,}';
my $gesucht;
if( CGI::param('suchstring') =~ /^$muster$/ ) {
$gesucht = CGI::param('suchstring');
}
else {
print "Der Suchstring ist ungültig.";
}
Die angenommenen Vorgaben sind:
- nur Buchstaben, Ziffern und der Unterstrich
- der Suchstring muss mindestens 3 Zeichen lang sein.
Freundschaft!
Siechfred
PS: http://www.perldoc.com/perl5.8.4/pod/perlsec.html
--
Punk's not dead: http://www.siechfreds-welt.de/badreligion.shtml
Punk's not dead: http://www.siechfreds-welt.de/badreligion.shtml