Лекции по "Веб-технологиям"

Автор работы: Пользователь скрыл имя, 06 Сентября 2013 в 11:17, курс лекций

Краткое описание

Основные понятия Web – технологий.
Историческая справка развития Web - технологий.
Обзор типов Web – приложений.

Содержимое работы - 1 файл

Web-технологии_Краткий конспект лекций.doc

— 698.50 Кб (Скачать файл)

JAVA-servlets

Сервлеты -  это  высокопроизводительные  платформо-независимые  server-side-пpиложения, написанные на Java и  составляющие  реальную  конкуренцию  таким технологиям, как CGI, PHP3, Perl, и уж конечно ASP.

Java-сервлеты были созданы  в Sun. Сервлеты похожи на CGI-сценарии  тем,  что это  код,  создающий   документы.  Тем  не  менее,  сервлеты,  поскольку  они используют Java, должны  быть  скомпилированы  перед  запуском  как  классы, которые  динамически  загружаются  веб-сервером   при   запуске   сервлетов. Интерфейс  отличается  от  CGI.  JavaServer  Pages  или  JSP  -  это  другая технология,  позволяющая  разработчикам  встраивать  Java  в   веб-страницы, наподобие ASP.

К преимуществам сервлетов  можно отнести:

- Исключительно высокая  скорость работы.

Быстpодействие сервлетов  объясняется тем, что они,  во-пеpвых,  пpедставляют собою уже скомпилиpованный  и оптимизиpованный код и,  во-втоpых,  выполняются  в единожды загpуженной и инициализиpованной Java-машине.

- Переносимость.

- Работа с базами  данных.

- Перспективность, современность  технологий.

Технология Macromedia Flash

Первоначально программа  называлась Splash Animator и продавалась  малоизвестной фирмой Future Animation для изготовления мультфильмов на PC - компьютере. Предназначалась для художников - аниматоров и пользовалась ограниченным успехом, пока в связи с бумом на WWW-приложения такой гигант, как фирма Macromedia, не обратила на нее внимание, купив и переименовав во Flash. Разработчики Flash поменяли интерфейс программы для облегчения и автоматизации разработки проекта. Причем мультимедийный гигант не только сменил название и интерфейс, но и переориентировал пакет на рынок Web-анимации (при этом был предложен и свой, внутренний формат файлов векторной графики "*.swf" , и реализована поддержка для других популярных графических форматов, в том числе и для анимированного GIF), и обеспечил пакету хорошую рекламу.

Однако изменения коснулись  не только внешнего облика, но и содержания.  
Во Flash понятие интерактивности значительно расширилось благодаря использованию сценариев Action Script (Действия), которые позволяют авторам разрабатывать достаточно сложные стили поведения - behaviors (перемещаемые элементы интерфейса, логику и начальную математику), впервые дающие возможность создавать электронные магазины. В результате программа получила широкое распространение в среде Web-разработчиков и продолжает служить хорошим подспорьем профессиональным аниматорам.

С момента появления  в 1996 г. технология Flash стала фактическим  стандартом для разработки насыщенных мультимедийных Web-сайтов. В качестве наиболее ярких примеров можно назвать  серверы Citibank, Fox, PepsiCola, Paramount, Plymouth, Chrysler, Nestle и Warner Bros.

Для работы во Flash не обязательно  иметь какой либо опыт в профессиональном программировании этот позволяет создавать Web узлы с элементами интерактивности  без необходимости написания  исходных кодов JavaScript, Java или HTML.

 
PHP и безопасность программ

Важно понимать, что PHP не является защищённым или не защищённым языком программирования. Защищённость или безопасность ваших internet-программ определяется только их кодом.

Глобальные переменные и формуляры

Основной вещью, на которую  нужно обращать внимание для обеспечения защищённости программ, является принцип, что всё полученное из вне системы является потенциально опасным.

В PHP очень легко убедиться, является ли переменная опасной или  нет. Если в php.ini флаг register_globals установлен в on (активирован), то PHP автоматически генерирует переменные из параметров формуляра и куков (cockies). Плохо разработанные программы исходят из того, что переменные только тогда имеют значения, когда эти значения явно заданы. В случае register_globals = on, это предположение может быть ошибочным.

Рассмотрим следующий  код:

<?

if (methode_check()) {

$my_var = true;

}

// ...

?>

Очевидно, что в этом коде мы исходим из того, что переменная $my_var принимает значение true только в  том случае, если функция methode_check() так же возвращает true.

Однако в случае register_globals = on, достаточно выполнить для этой страницы page.php?my_var=1 что бы обеспечить работу программы со значением $my_var = true вне зависимости от возвращаемого  значения функцией methode_check().

В настоящий момент в PHP существует три возможности решить эту проблему:

- инициализация переменных;

- установить значение  флага register_globals в off

- настроить значение variables_order и правильно использовать  в вашем коде глобальные переменные

Инициализация переменных

Всегда инициализируйте  переменные. При этом дырка, показанная в примере выше, была бы закрыта  вот так просто:

<?

$my_var = false;

if (methode_check()) {

$my_var = true;

}

// ...

?>

В случае, если конфигурационное значение error_reporting в php.ini установить в E_ALL, то будет обеспечено сообщение о том, что сценарий содержит переменные, которые не проинициализированы.

 

Так к примеру это  может выглядеть:

<?

echo $a;

?>

Сообщение сценария:

Notice: Undefined variable: a in c:\myserver\apache\htdocs\test.php on line 2

Конечно же когда программа  готова, открытые сообщения обо всех ошибках и информационные сообщения  должны быть деактивированы, в противном  случае эта информация можеть открыть  дополнительные возможности для  снижения безопасности, или попросту, для взлома программы. Следующие директивы php.ini рекомендуются для рабочих программ:

display_errors = Off

log_errors = On

error_log = C:/myserver/apache/log/php_errors.log

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

 

Таблица 4.1 - Описания ошибок в PHP4 (оригинальный список)

Нас интересуют те ошибки, которые мы можем перехватить. К ним относятся: E_WARNING, E_NOTICE и E_USER_*. Остальные виды ошибок перехвату не поддаются либо из-за того, что происходят они еще до окончания загрузки самого ядра РНР, либо из-за того, что происходят на этапе синтаксического анализа и компилирования РНР-кода, поэтому их вывод придется просто отключить:

ini_set('display_errors',0);

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

По умолчанию уровень ошибок в РНР имеет значение E_ALL & ~E_NOTICE (или 2039 в числовой форме), что означает, что мы пропускаем мимо ушей замечания, но сообщаем о всех остальных ошибках.

Кстати, сами разработчики рекомендуют включать на стадии разработки и E_NOTICE - помогает обнаружить потенциально опасные места.

Поэтому изменим уровень  вывода ошибок на E_ALL:

error_reporting(E_ALL);

 

Рекомендуемая литература: 4, 5, 6, 7, 8, 9, 10.

 

 

СПИСОК ЛИТЕРАТУРЫ

 

1. Петров В.Н. Информационные  системы. Учебник. – СПб: Питер, 2002

2. Филимонов А.Ю. Протоколы  Интернета. СПб: БХВ - Петербург, 2003

3. Найк Д. Стандарты  и протоколы Интернета. Пер  с англ. – М.: 1999

4. Ганеев Р.М. Проектирование  интерактивных Web – приложений. –М.: 2001

5. Успенский И.И. Интернет  как инструмент маркетинга. СПб: БХВ – Петербург, 2000

6. Леонтьев Б. Web – дизайн: Хитрости и тонкости: - М.: МиК, 2001

7. Гультяев А.К. Машин  В.А. Уроки Web – мастера. СПб.: 2002

8. Гралла П. Хитрости  Интернет. – Спб.:Питер, 2006

9. Томсон Л., Веллинг Л. Разработка Web-приложений на РНР и MySQL. – М.:DiaSoft, 2003.

10. www.intuit.ru:.

11. http://dvoika.net/Web/gl1: «Конспект лекций по Web – технологиям».




Информация о работе Лекции по "Веб-технологиям"