Вопросы и ответы

Моя форма не работает, я получаю сообщение об ошибке.


Для локализации проблемы воспользуйтесь руководством по отладке CGI, приведенном на 17-м занятии, “Введение в CGI”. Отладка программы, обрабатывающей форму, не отличается от отладки обычной CGI-программы.


Я нашел в Internet прекрасную программу, но не могу понять, почему для получения параметров формы она использует переменную $ENV(QUERY_STRING)?


Потому что ее автор отказался от использования возможностей модуля CGI по обработке формы. Это означает, что или программа очень старая и была создана до появления этого модуля, или автор решил использовать собственный код обработки формы. В любом случае это свидетельствует о том, что к использованию данной программы нужно подходить с осторожностью.


Я запускаю программу с ключом -Т в строке #!, при этом появляется сообщение об ошибке Too late for -т option и программа прекращает выполнение. Почему?


Ключ -Т должен стать известен интерпретатору как можно раньше, чтобы Perl сразу мог начать процесс контроля данных. Иногда бывает, что к тому моменту, когда выполнение дойдет до строки программы #!, интерпретатор уже обработал параметры командной строки. Поэтому для запуска программы из командной строки, например во время отладки, необходимо в командной строке также указать ключ -Т:

perl -Т -d foo.cgi

Может ли контроль данных в Perl уберечь программиста от совершения нелепых ошибок в CGI-программе? Гарантированд ли теперь безопасность программы?


Ни одна CGI-программа не является абсолютно безопасной. Конечно, контроль данных поможет избежать многих нелепых ошибок, но не гарантирует полной безопасности программы.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: