Perl boya rejimi səhvinin mənbəyini tapmaq

Bir perl CGI skriptini taint rejimində işlədərkən formada bir səhv olur ...

Insecure dependency in some_function while running with -T switch at (eval some_line) line some_other_line.
Compilation failed in require at my-script.cgi line 39.
BEGIN failed--compilation aborted at my-script.cgi line 39.

my-script.cgi sətri 39 özü istifadə etməyən bir perl modulu üçün bir istifadə ifadəsidir. eval və ya some_function, lakin ehtimal ki başqa bir kitabxanadan istifadə edir. Some_line və some_other_line sətir nömrələri nə my-script.cgi-də, nə də my-script.cgi sətrinin 39-cu sətrində istifadə olunan kitabxanada mənalı görünür.

Bu səhvi nəzərə alaraq necə izləyə bilərəm? ləkə xətasının baş verdiyi yerdə?

Bir yığın izini, yəni

$SIG{ __DIE__ } = sub { require Carp; Carp::confess(@_); };

çap etməsi lazım olan yeni bir die siqnal işləyicisini təyin etməyə çalışdım, lakin bunun səhv üzərində heç bir təsiri olmadığı görünür. Bəlkə də bu tələyə düşmək üçün səhv bir siqnaldır, kifayət qədər erkən baş vermir və ya daha mürəkkəb bir şey tələb olunur.

5
задан Matt Sheppard 15 June 2011 в 05:10
поделиться