Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Stopping bad input (harder than sanitizing)

by tybalt89 (Monsignor)
on Mar 10, 2021 at 19:10 UTC ( [id://11129423]=note: print w/replies, xml ) Need Help??


in reply to Stopping bad input (harder than sanitizing)

#!/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 "; } }

Replies are listed 'Best First'.
Re^2: Stopping bad input (harder than sanitizing)
by Anonymous Monk on Mar 10, 2021 at 20:29 UTC

    I just noticed the code you posted. I tried it - it works the way I want. I am gonna play with it, and see if it can be added to my program. Thanks.

Re^2: Stopping bad input (harder than sanitizing)
by Anonymous Monk on Mar 10, 2021 at 22:06 UTC

    I got your code incorporated. Your code is quite simple. I am working on something thats quite large (1000 lines). Should $| be at the beginning of the program? If I enter '[' in the Tk::Entry widget I get "stack moved" error. If I promptly hit <RET> it still freezes. I pass data to $search_pattern via <code? $search_pattern = $entry -> get(); </code> Ideas?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11129423]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-04-25 23:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found