Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

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

div.main {margin-left: 20pt; margin-right: 20pt}

Как правильно выбирать 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/


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте