Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Помимо этого постарайтесь гарантировать соответствие ввода предусмотренному шаблону. Скажем, для того



же почтового адреса этим шаблоном может быть name@domain I.domam2, что чаще всего делается на Peri

следующим образом: die "Wrong address" if ($address i'/"\w[\w\-. ]*\@[\w\-. ]+$/),

Здесь в начале и в конце строки ожидается один или несколько символов <а> - <z>, <А> - <Z>, <О> - <9>, <->,

<.> и <@> внутри, причем <-> или <.> не могут быть первыми. Правда, это не слишком помогает против атак,

подобных приведенной выше, достаточно завершить наш нсев-доадрес чем-нибудь типа ^somewhere, ru.

Если же у вас нет желания фильтровать спецсимволы, можно использовать другой вариант вызова функций

System и ехес, позволяющий передать нс один аргумент, а список аргументов. В этом случае Peri не передает

Список аргументов в оболочку, а рассматривает первый ар1умент как подлежащую выполнению команду и

Остальные аргументы - как параметры этой команды. Причем обычная для оболочки интерпретация спецсимво-

лов не производится:

вместо system "grep $pattern $files": использовать system "grep", "$pattern", "$f lies":.

Этим же свойством можно воспользоваться для безопасного перенаправленного ввода/вывода. При этом нам

понадобится знание того факта, что при открытии с перенаправлением вывода команды <-> мы неявно вызываем





Дата публикования: 2014-11-04; Прочитано: 307 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...