Perl и CGI-программы особенности использования и настройка

Ссылочный блог

Разработчики и менеджеры сайтов часто сталкиваются со сценариями CGI (обработка текстовых данных). Они используются для создания интерактивных страниц, содержание которых зависит от действий пользователя. Например, могут быть формы для регистрации или отправки комментариев. Существует также сбор и обработка данных посетителей с помощью cookies — «невидимой» области приложения.

Что такое CGI и PERL

Важно понимать, что CGI — это не язык программирования, а протокол для отправки данных на организационный сервер и получения данных с него через STDIN. В качестве командного процессора может быть использована любая программа, поддерживающая функцию ввода/вывода потока. Например, они написаны на языке Perl. Самое главное, сценарий должен «знать», как заполнять таблицы базы данных и восстанавливать данные из них, задавая вопросы, что невозможно сделать с помощью HTML.

CGI и PERL

Язык Perl характеризуется:.

  1. Он хорошо подходит для анализа текстовых данных в системах помощи.
  2. Он помогает обрабатывать данные, которые невозможно понять в базах данных онлайн-ресурсов.
  3. Требует отображения информации на экране, в файле или графике на сайте.

В качестве альтернативы Perl все чаще используется язык программирования Python, но поскольку поддержка Perl «по определению» имеется в большинстве дистрибутивов Linux, администраторы «старой школы» продолжают придерживаться классики CGI-сценариев. Таким образом, программы, использующие его, начинают работать без подготовки сервера. Технически сценарии могут быть написаны на чем угодно — C/C ++, Pascal, Java или даже Visual Basic.

Использование готовых скриптов

Если у вас уже есть CGI-сценарий (с использованием стандартного раздела), вам нужно будет скопировать его на ваш хостинг-сервер, прежде чем вы сможете его использовать. Эта процедура выполняется с помощью диспетчера файлов в панели управления или с помощью Access FTP с Filezilla. Местонахождение определяется по усмотрению пользователя, и доступ к программе может не зависеть от имени или названия подкоста, однако рекомендуется придерживаться определенных критериев.

ЧИТАТЬ ЕЩЁ:  14 сервисов для бесплатных звонков через интернет в любую точку мира

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

  1. Perl-/usr/bin/perl.
  2. Python-/usr/local/bin/python.

Если здесь будет ошибка, код не будет выполнен. То же самое относится к случаям, когда программное обеспечение имеет доступ к базе данных MySQL. Для доступа к программе пользователь должен ввести root, имя пользователя и пароль. Если последний изменился, необходимо изменить CGI-Script. В противном случае операция будет остановлена. Расположение популярных файлов CMS можно найти в технической поддержке или документации сервиса.

Написание простейшего CGI-скрипта

Для кодирования на операционных системах Windows требуются специальные программы. Например, достаточно специального текстового процессора Notepad++ (стандартный Notepad для таких целей не подходит). Сам код основан на переменных среды и потоках ввода/вывода. По сути, сценарии CGI — это отдельные командные операторы, а не «полные» программы.

CGI и PERL скрипты

  1. Стандартный поток ввода (STDIN) — скрипты получают информацию с клавиатуры, сокетов, локальных (удаленных) файлов или с выхода основной программы.
  2. Переменные среды — Переменные, необходимые при выполнении кода действия. Они определяются пользователем или сервером.
  3. Выдавать stdout — означает вывод результатов вычислений на экран или сохранение их в файл, в слот, в поток другой программы или на принтер.

Главное — избегать использования SHELL, который снижает безопасность сайта. В качестве примера простого CGI-скрипта перечислите код для отображения текущей даты и команды HTML, используемые для доступа к программе (из любого места страницы и из нескольких мест одновременно).

Используя специальный виджет, установленный в CMS, или вручную отредактировав шаблон в нужной части HTML-кода, введите следующее

Приведенный выше пример решает типичную ошибку новичка. Отсутствует тег output-type (строка Content-type: text/html). Сразу после этого следует пустая строка, указывающая на то, что программный код должен быть продолжен.

ЧИТАТЬ ЕЩЁ:  Как оценить стоимость сайта для продажи или покупки

Просмотр установленных модулей PERL

Вы можете использовать команду vim для проверки наличия ранее связанных модулей PERL. Перед импортом необходимо подключиться к хостинг-серверу по защищенному каналу SSH. После авторизации необходимо войти в консоль.

Это создаст файл с указанным именем. Следующий шаг — открыть его в текстовом редакторе и изменить его содержимое следующим кодом

Выйдите из сохраненного файла и выполните команду perl . /modules.pl. Процесс поиска соответствующих CGI-скриптов, который необходим в случае 403 или 500 ошибок сайта. Первая вызвана неправильной установкой прав доступа (права доступа к файлу скрипта должны быть установлены на 755), вторая — ошибкой в трансляторе Perl или синтаксической/логической ошибкой в самом коде. В любом случае, сначала необходимо убедиться, что сценарий подключен.

Оцените статью