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

же почтового адреса этим шаблоном может быть 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":.

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

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

еще рефераты
Еще работы по информатике