ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2023
Просмотров: 194
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1. Классификация возможных архитектур информационных систем
7. Функциональная логика приложений
8. Различная физическая реализация логической модели
3. HTTP-аутификация средствами PHP.
4. Создание GIF-файлов с помощью PHP.
5. Поддержка file upload. Поддержка HTTP cookie. Поддержка баз данных.
Коментарии
Пожалуйста сообщите нам, что вы думаете о нашем web сайте, компании,
продукции, или услугах. Если вы сообщите нам свою контактную информацию,
у нас будет возможность связаться с вами и ответить на ваши вопросы.
ISTC.
RRC "Kurchatov Institute" Dec, 25, 1995 |
---|
Registration Form
......
Текст страницы.
.....
В данном примере в заголовок документа (контейнер HEAD) включен контейнер SCRIPT. До недавнего времени атрибут LANGUAGE в этом контейнере не являлся обязательным. Но с момента появления VBSCRIPT смысл в указании типа языка появился - Navigator не понимает скриптов на других языках. Отсутствие атрибута может привести к ошибкам при отображении гипертекстовых страниц.
Далее в тексте страницы определен комментарий, в который включен текст скрипта. Начинается комментарий со строки:
The JavaScript Functions Definition
и кончается строкой:
// The end of JavaScript Functions Definition -->
Внутри контейнера скрипта определены две функции пользователя: help_win() и main_menu(). Смысл этих функций достаточно прозрачен. Help_win() предназначена для организации контекстно зависимого help, а main_menu() осуществляет допуск пользователя к главному меню Website. Обе функции используют один и тот же метод open (встроенную в JavaScript функцию, которая определена над объектом window) для того, чтобы открыть новое окно Netscape Navigator и загрузить в него гипертекстовые документы. При этом функция main_menu порождает стандартное окно (с кнопочками, иконками и т.п.), а функция help_win() окно без стандартных атрибутов. У этого окна имеются только линейки прокрутки (scroll bars).
Вызов функций осуществляется после нажатия на соответствующую кнопку, которые определены в HTML-форме help_call. Таким образом, выполнение функций будет осуществлено только в том случае, если произойдет событие, описанное атрибутом onClick в контейнере INPUT соответствующего поля формы.
Если быть более точным, то приведенный пример - это фрагмент, реализующий регистрацию пользователя. К моменту его выполнения окно главного меню уже открыто, поэтому создание этого окна при выборе кнопки "NEXT" не происходит, а текст загружается в уже открытое окно.
-
Технология PHP
1. Введение в PHP.
PHP - язык описания сценариев, выполняемых на сервере, встроенный в HTML.
Возможно самая сильная и значимая возможность в PHP - уровень интеграции с базами данных. Написание веб-страницы работающей с базой данных невероятно просто. В настоящее время поддерживаются следующие базы данных: Oracle, Adabas D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, PostgreSQL
PHP был задуман где-то в конце 1994 года Расмусом Ледорфом(Rasmus Lerdorf). Ранние невыпущенные версии использовались на его домашней странице для того, чтобы следить за тем, кто просматривал его интерактивное резюме. Первая используемая версия cтала доступна где-то в начале 1995 и была известна как Personal Home Page Tools. Она состояла из очень упрощенного движка синтаксического анализатора, который понимал только несколько специальных макрокоманд и ряд утилит, которые затем были в общем использовании на домашних страницах. Гостевые книги, счетчики и некоторые другие дополнения.
Довольно трудно дать какую-либо жесткую статистику, но отмечено, что к 1996 г. PHP/FI был использован по крайней мере на 15,000 веб-сайтах во всем мире. В середине 1997г. эта цифра выросла до более чем 50,000. В середине 1997г. также наблюдалось изменение в разработке PHP. Из частного любимого проекта Расмуса, которому способствовала горстка людей, это превратилось в намного более организованную рабочую группу. Синтаксический анализатор был заново переписан Зевом Сураски (Zeev Suraski) и Анди Гутмансом (Andi Gutmans), и этот новый синтаксический анализатор стал основой для PHP.
2. Возможности PHP3.
В области веб-программирования, в частности серверная часть, PHP — один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений[11]. Основные из них:
-
автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы; -
взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2,Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO); -
автоматизированная отправка HTTP-заголовков; -
работа с HTTP-авторизацией; -
работа с cookies и сессиями; -
работа с локальными и удалёнными файлами, сокетами; -
обработка файлов, загружаемых на сервер; -
работа с XForms.
В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в июне 2013 года PHP находился на 5 месте среди языков программирования.[9] К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.
Входит в LAMP — распространённый набор программного обеспечения для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP).
3. HTTP-аутификация средствами PHP.
HTTP аутификация в PHP доступна только при использовании модуля Apache. В модуле Apache PHP-скрипт, может использовать функцию Header() для отправки сообщения "Authentication Required" браузеру клиента, вызвав тем самым окно диалога Username/Password. Как только пользователь заполняет поля username и password, URL содержащий PHP-скрипт будет вызван заново с переменными $PHP_AUTH_USER, $PHP_AUTH_PW и $PHP_AUTH_TYPE содержащими введенную информацию. В данном случае обеспечивается только "Основная" аутификация.
Фрагмент примера сценария, который производит аутентификацию клиента на странице, должен быть следующим:
Пример 31 Пример HTTP аутификации
if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm=\"My Realm\"");
Header("HTTP/1.0 401 Unauthorized");
echo "Text to send if user hits Cancel button\n";
exit;
} else {
echo "Hello $PHP_AUTH_USER.
";
echo "You entered $PHP_AUTH_PW as your password.
";
}
?>
Вместо просто распечатывания $PHP_AUTH_USER и $PHP_AUTH_PW, желательно проверить имя_пользователя и пароль для проверки правильности. Возможно, посылая запрос к базе данных, или, ища пользователя в dbm-файле.
Будьте внимательны при использовании браузера Internet Explorer. Он весьма придирчив к порядку заголовков. Отправка заголовка WWW-Authenticate перед заголовком HTTP/1.0 401 возможно даст аутификацию в любом случае.
Чтобы идентифицировать внешне-опознанного пользователя, может быть использована переменная $REMOTE_USER.
Обратите внимание, однако, что вышеупомянутое не защищает от кого - то, кто может управлять не-аутифицированным URL, используя перехваченный пароль из аутифицированных URL на том же самом сервере.
И Netscape и Internet Explorer очистит локальный кэш окна аутификации после получения ответа сервера 401. Это эффективно в качестве меры отключения пользователей ("log out"), вынуждая их повторно ввести их username и пароль. Иногда это используют для отключения пользователя по истечении интервала времени ("time out"), или обеспечивают кнопку "Log Out".
4. Создание GIF-файлов с помощью PHP.
Использование PHP не ограничено созданием только HTML вывода. Он может также использоваться для создания файлов GIF, или даже более удобных потоков изображений GIF. Для этого вам надо скомпилировать PHP с библиотекой функций изображения - GD .
Пример 32 Создание GIF-файлов с помощью PHP
Header("Content-type: image/gif");
$string=implode($argv," ");
$im = imagecreatefromgif("images/button1.gif");
$orange = ImageColorAllocate($im, 220, 210, 60);
$px = (imagesx($im)-7.5*strlen($string))/2;
ImageString($im,3,$px,9,$string,$orange);
ImageGif($im);
ImageDestroy($im);
?>
Этот пример вызывается со страницы тегом: . Скрипт берет строку "text", накладывает сверху на основное изображение, которым в этом случае является " images/button1.gif " и выводит возникающее в результате изображение. Это - очень удобный способ не рисовать новые изображения кнопки, каждый раз, когда вы хотите изменить текст кнопки. Этим методом они будут динамически сгенерированы.
5. Поддержка file upload. Поддержка HTTP cookie. Поддержка баз данных.
Поддержка file upload
PHP может принимать файлы, загруженные из любого браузера, отвечающего стандартам RFC-1867 (которыми являются, например, Netscape Navigator 3 или cтарше, Microsoft Internet Explorer 3 с исправлениями от Microsoft, или cтарше). Эта возможность позволяет загружать файлы с PHP-аутификацией и функциями манипулирования файлами, вы имеете полный контроль над тем, кому позволять загружать файлы и что должно быть выполнено с файлом, если он был загружен.
Экран загрузки файла может быть организован созданием специальной формы, которая выглядит примерно так:
Пример33 Формазагрузкифайла
URL должен указать на php html файл. Cкрытое поле MAX_FILE_SIZE должно предшествовать полю ввода файла и означает максимально допустимый размер файла. Значение определяется в байтах. Для этого файла при успешной загрузке будут определены следующие переменные:
$userfile - Временное имя файла под которым загруженный файл загружается в машину сервера.
$userfile_name - Исходное имя файла в системе отправителя.
$userfile_size - Размер загруженного файла в байтах.
$userfile_type - Тип MIME файла, если броузер предоставил эту информацию. Например, это может быть тип "image/gif". Обратите внимание, что компонент вышеупомянутых переменных "$userfile" - это любое значение поля Name тега INPUT c TYPE=file обозначенное в форме загрузки. В приведенном выше примере формы загрузки мы назвали его "userfile".
По умолчанию файлы будут сохранены в заданном по умолчанию временном каталоге сервера. Его можно изменить, установкой переменной среды TMPDIR в среде, в которой PHP выполняется. Хотя, использование при ее установке обращения PutEnv () изнутри сценария PHP не будет работать.
Скрипт PHP, который получает загруженный файл, должен определить, что должно быть выполнено с загруженным файлом. Вы можете, например, использовать переменную $file_size, чтобы отбросить любые файлы, которые являются или слишком маленькими или слишком большими. Вы могли бы использовать переменную $file_type, чтобы отбросить любые файлы, которые не соответствуют некоторым критериям типа. В любом случае, вы должны или удалить файл из временного каталога или переместить эго в другое место. Файл будет удален из временного каталога в конце запроса, если он не перемещен или переименован.
Поддержка HTTP cookie
PHP поддерживает HTTP cookies. Cookies - механизм для сохранения данных в удаленном браузере и, таким образом, - трэкинг или идентификация пользователей. Вы можете устанавливать файлы cookie используя функцию setcookie(). Cookies - часть HTTP заголовка, так что функция SetCookie() должна вызваться прежде, чем браузеру послан какая-нибудь информация для вывода. Это - то же самое ограничение