#!/usr/bin/perl use strict; use warnings; use Tk; $| = 1; my $search_pattern = ''; my $mw = MainWindow->new; $mw->geometry( '+700+300' ); my $search = $mw->Entry (-width => 20, -textvariable => \$search_patte +rn)->pack; $search->bind('<KeyPress-Return>', \&search); $search->focus; $mw->Button(-text => 'Clear', -command => sub {$search_pattern = ''})- +>pack; $mw->Button(-text => 'Exit', -command => sub {$mw->destroy})->pack; MainLoop; sub search { my ($string ); print "Pattern entered into Search-box is: $search_pattern\n "; use Data::Dump 'dd'; dd 'got', [ $search_pattern ]; ## CHECK $search_pattern and untaint: if( $search_pattern =~ /^([\w\s\-\:\_\d]+)$/ ) { ## make sure it only contains \w, '-' , ':' , '_' , and digits $string = $1; ## DON'T forget 's -- space between prog and $arg print "\$string is untainted; \$string = $string \n "; } else { print "OOPS! data is tainted or empty. TRY AGAIN...\n "; } }
In reply to Re: Stopping bad input (harder than sanitizing)
by tybalt89
in thread Stopping bad input (harder than sanitizing)
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |