17 августа 2019 года    
Суббота | 17:43    
Главная
 Новости
Базы данных
Безопасность PC
Всё о компьютерах
Графика и дизайн
Интернет-технологии
Мобильные устройства
Операционные системы
Программирование
Программы
Связь
Сети
 Документация
Статьи
Самоучители
 Общение
Форум







Разделы / Интернет-технологии / Perl

Как правильно выбирать CGI скрипты

Как правильно выбирать CGI скрипты

Многие ищут скрипт по критерию возможностей: мол делает что мне надо, значит рулезный скрипт, и вовсе не задумываются о его реализации. На сайте http://perl.com/ появилась статья: Finding CGI Scripts
О том где найти скрипты, и как выбрать наилучший. Вот некоторые рекомендации по выбору скрипта:

- используется ли в скрипте ключ -w и прагма strict?
Если да, то хорошо, значит как минимум, программер знал о существовании таковых и смог написать "корректный код", т.к. ключ -w и пагма strict заставляют интерпритатор Perl быть более настороженным к коду

- используется ли контроль меченных данных?
Ключ -T. Данный режим прежде всего полезен форумам, гостевым книгам, доскам объявлений, т.е. тем, где могут запостить всякую гадость, которую скрипт тупого (ладно, не тупого, а недальновидного) программера может применить для каких нибудь критичных функций (верх идиотизма - разборка таких подозрительных данных функцией eval ) В общем, повышаем надежность (даешь security!). Такие сомнительные данные (т.е. переданные скрипту посетителями через форму) всегда надо проверять.

- Использует ли скрипт CGI.pm
Это стандартный модуль Perl, который можно найти везде, где есть сам Перл, но некоторые умники предпочитают обрабатывать самостоятельно передаваемые данные... что чревато ошибками и защищенностью скрипта. Кто-то скажет, что мол зачем грузить целый модуль, для обработки затхленькой формочки? Ну так не грузите его весь! Загрузите те функции, что вы используете. О, еще иаленькие рекомендации. У этого модуля есть часть опций, которые вы можете включить, отключить (в целях безопасности), например:

  • $POST_MAX=-1; если выставите положительное число, то это будет кол-во бит, которые можно передать скрипту через форму. Когда-то, у модуля CGI.pm был глючок, связанный с тем, что некоторые редиски заливали кучу информации-мусора через формы, что приводило к печальным последствиям. Если хотите поставить ограничения на объем передаваемой, то в своем скрипте напишите, нечто вроде: $CGI::POST_MAX=1024*100; (т.е. 100кб)
  • $CGI::DISABLE_UPLOADS = 0; Если включить (т.е. поставить в True), то аплоад будет запрещен
  • ... Читайте документацию, я и так отвлекся
    Рекомендую скачать документацию этого модуля (на русском в PDF): http://perldoc.narod.ru

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

    - Тех. поддержка... она есть вообще?
    Очень яркий показатель. Если есть, то имеет смысл ознакомиться с проблемами, которые одолевают пользователей скрипта. А если нет, то это вовсе не значит, что ни у кого нет проблем - скорее всего человек что-то сделал и забыл/забил.

    С учетом всего сказанного, хороший CGI скрипт должен как минимум выглядеть так:

    #!/usr/bin/perl -Tw
    use strict;
    use CGI qw/:cgi/;
    use vars '$global_var';




    Автор: © Green Kakadu
    Источник: http://www.webscript.ru/
  •  Как правильно выбирать CGI скрипты
    Лента новостей


    2006 (c) Copyright Hardline.ru