Gunnar Hjalmarsson wrote:

> Adam Jimerson wrote:
>> Gunnar Hjalmarsson wrote:
>>> Adam Jimerson wrote:
>>>> Do I need to specify anything for the $ENV{PATH} or do I just leave it
>>>> blank
>>>
>>> It depends. You have to take into consideration whether your program
>>> relies on any of the paths. If not, it's fine to leave it blank.
>> 
>> The only time I call something that is not a Perl function in my program,
>> which if I understand this correctly is why I have to set $ENV{PATH}, is
>> when I call /usr/bin/mail, but when I set $ENV{PATH} to blank or to
>> /usr/bin I get this error "Insecure dependency in piped open while
>> running with -T
>> switch at /srv/www/cgi-bin/contact line 87."  That line is where I open
>> the mail command for writing which I have done so like this
>> 
>> open(MAIL, "|/usr/bin/mail -s \"User, $name, has left a message\"
>> vendion")
>> || die "Can't send mail: $!";
>> 
>> Now without the -T switch this sends the message to my local mbox on my
>> system, its just something about it that the switch just does not like.
> 
> There is only one suspected variable to consider, i.e. $name, which is
> probably tainted. Untaint it, and you are done. ( You remember where to
> find out how, right? ;-) )
> 

According to perlsec I need to use it as a key in a hash or reference a 
substring.  The example given is 

,----[  ]
 if ($data =~ /^([...@\w.]+)$/) { 
$data = $1; # $data now untainted
 } else { 
 die "Bad data in '$data'"; # log this somewhere
 }
`----


When I tried it, using the same search string, all I need is to check for 
alphanumeric characters to cover the name, email address and a message.   Is 
there something wrong with the above search string?   I know it says it 
doesn't work if use locale is in effect but I don't have that in my program.


-- 
To unsubscribe, e-mail: beginners-cgi-unsubscr...@perl.org
For additional commands, e-mail: beginners-cgi-h...@perl.org
http://learn.perl.org/


Reply via email to