Xreferat.com » Рефераты по компьютерным наукам » Администрирование локальных сетей

Администрирование локальных сетей

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

  • Status

Эта директива используется для задания серверу HTTP/1.0 строки-статус, которая будет послана клиенту. Формат: nnn xxxxx, где nnn - 3-х цифровой статус-код, и xxxxx строка причины, такая, как "Forbidden" (Запрещено).

Примеры

Предположим, имеется некоторый текстовый конвертер в HTML. Когда он оканчивает свою работу, он должен произвести следующий вывод в стандартный выходной поток:


--- начало вывода ---


Content-type: text/html


--- конец вывода ---


Теперь рассмотрим шлюз, который, в некоторых случаях, должен выдать документ /path/doc.txt с данного сервера, как если бы он был непосредственно востребован клиентом через server:port/path/doc.txt. В это случае вывод шлюза будет таков:


--- начало вывода ---


Location: /path/doc.txt


--- конец вывода ---


Наконец, предположим, что шлюз возвращает ссылки на gopher сервер, например на gopher://gopher.ncsa.uiuc.edu/. Вывод шлюза будет следующий:


--- начало вывода ---


Location: gopher://gopher.ncsa.uiuc.edu/


--- конец вывода ---


Non-parsed headers

Допустим теперь, что у нас имеется шлюз, который общается с клиентом непосредственно. Как уже отмечалось, его имя должно начинаться с префикса nph- и он должен возвращать допустимый HTTP заголовок. В этом случае, если доступ к шлюзу был осуществлен со значением SERVER_PROTOCOL равным HTTP/1.0, его вывод должен удовлетворять HTTP/1.0:


--- начало вывода ---


HTTP/1.0 200 OK


Server: NCSA/1.0a6


Content-type: text/plain


--- конец вывода ---


Примечание! Материал подготовлен на основе документа "CGI Specification at NCSA"


  • PHP

PHP - язык написания сценариев, внедренный в HTML. Многое из синтаксиса заимствовано из C, Java и Perl, с добавлением специфичных для PHP возможностей. Задача языка состоит в том, чтобы дать возможность Web-разработчикам легко и быстро создавать динамично изменяемые html-страницы.

Что может делать PHP3?

Возможно самая сильная и значимая возможность в PHP3 - уровень интеграции с базами данных. Написание веб-страницы работающей с базой данных невероятно проста. В настоящее времени поддерживаются следующие базы данных:

Oracle

Adabas D

Sybase

FilePro

mSQL

Velocis

MySQL

Informix

Solid

dBase

ODBC

Unix dbm

PostgreSQL

Краткая История PHP

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 Версии 3.

Сегодня ( в середине -1998г.) как PHP/FI так и PHP3 поставляется с рядом коммерческих продуктов типа C2's StrongHold web server и RedHat Linux и консервативной оценкой, основанной на экстрaполяции чисел, предоставленных NetCraft было бы то, что PHP используется на 150,000 cайтах во всем мире. В перспективе, их больше чем сайтов, запущенных на Netscape's flagship Enterprise server в Интернете.

Модульность и ортогональность с использованием существующих технологий.


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

При создании сайта сразу следует предусмотреть в его структуре возможность модульности, как, например, все JavaScript-сценарии следует выносить во внешние файлы, которые можно разместить в отдельной директории сайта, к которой будет ограничен доступ, что значительно повысит безопасность сайта, сделает его структуру более простой у удобочитаемой. Далее, все общие элементы дизайна и стилевого оформления лучше всего описать в виде CSS и так же вынести во внешний файл или файлы. В этом плане CSS наиболее продвинутая технология в плане разграничения контента и его оформления, здесь четко различается иерархическая структура оформления и само содержание, CSS содержания не касается.

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

Следующая технология, которая позволяет разделить содержание и оформление сайта – SSI. После CSS это наиболее приближенная к идее независимости контента от его представления технология. Во включаемые файлы посредством SSI обычно выносятся заголовки сайтов, элементы оформления нижней части страницы, а так же меню и вообще любые другие общие элементы сайта. Например, если мы выносим меню во включаемые файлы, то это позволит нам быстро добавлять в структуру сайта новые разделы, причем изменения придется делать и синхронизировать не во множестве страниц, а в одном файле описания меню, далее он автоматически включится во все страницы.


Веб-приложения.


Под веб-приложениями понимается все, что не относится к простому гипертекстовому документу, как то, апплеты, флэш-приложения, презентации, скрипты, ActiveX компоненты и сценарии, а так же обычные программы и модули и плагины браузера. Кроме этого под веб-приложениями так же могут пониматься интерфейсы, интерфейсы к базам данных, интернет-магазины, системы новостей и многое другое. Практически все что требует программирования может быть отнесено к приложениям.


Общие требования к страницам сайта.


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

  • размер одной страницы. Средний размер страницы рекомендуется в среднем делать не более 60Кб, для сплэш-страниц и презентационных страниц размер может быть до70-90Кб.

  • Графика. Не рекомендуется перегружать страницу графикой и флэш-презентациями сверх необходимого, а так же излишней графикой.

  • Прозрачная навигация. Навигация на сайте должна быть прозрачной, т.е. интуитивно понятной и достаточно простой. В графическом меню обязательно должен быть прописан альтернативный текст для пользователей текстовых браузеров и для тех кто любит отключать графику на страницах.

  • Разбивка текста. Большие текстовые блоки следует разбивать на страницы, которые содержат 3-4 экрана, опять же из соображений размера – они быстро выкачиваются, а так же удобочитаемости.


4.б.8. Мета-теги.


Метатеги есть эквивалент соответствующих полей HTTP-заголовка и широко используются для переопределения стандартных записей.

META-таги имеют два возможных атрибута

  • -

META-таги должны находиться в заголовке HTML-документа между и (особенно это важно для документов, использующих фреймы).


Наиболее полезные с точки зрения применения метатеги следующие:

что эквивалентно HTTP-заголовку

Refresh: 3; URL=name/page.html


Пример типичного заголовка с мета-тэгами:


Совместимость с различными браузерами.


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

Давайте вспомним. Что лежит в основе Web-страничек? Верно, язык HTML, и определятся он как текст в формате ASCII со вставкой специальных разметочных кодов (или тэгов). И когда броузер отображает страничку, то он находит эти коды и выполняет соответствующие им действия (например, встречая тэг начинает вывод последующего текста полужирным шрифтом, а встречая - прекращает это делать). Полный набор таких тэгов называется спецификацией и поддерживается WWW-консорциумом, в который входят все основные компании, разрабатывающие программное обеспечение для Internet (в том числе, и Microsoft с Netscape). В идеале, все браузеры должны удовлетворять данным спецификациям, но, к сожалению, реальная жизнь и конкуренция между ведущими производителями броузеров вносят свои коррективы.

Напомню, что первоначально HTML позиционировался как язык логической разметки текста, независимый от устройства вывода. То есть тэги воспринимались как указание к выделению части текста некоторым образом. Отсюда в языке имеется множество т.н. логических тэгов типа , , : , к сожалению, редко применяющихся. Фраза "независимый от устройства вывода" обозначает, что результат интерпретации HTML-кода может быть выведен не только на экран, но и, к примеру, на звуковую карту (когда компьютер сам будет читать Вам содержимое HTML-странички) или на специальное устройство, воспроизводящее содержимое странички кодом Брайля. Но получилось так, что язык HTML, в конце концов, превратился в язык описания страниц на экране компьютера.

В настоящий момент имеются два браузера, особенности которых должен учитывать web-дизайнер при изготовлении страничек. Это "Netscape Navigator" и "Microsoft Internet Explorer" (а вдруг кто не знает На самом деле браузеров гораздо больше, но они все вместе занимают всего около 1% рынка и, как правило, стремятся к совместимости с одним из двух лидеров. Между собой лидирующие браузеры делят рынок в соотношении примерно 75/25 (на данный момент лидирует Internet Explorer). Так что, в дальнейшем будут рассматриваться только эти программы.

Первое правило профессионального web-дизайна

Для чего же мы должны учитывать то, как смотрятся наши странички в обоих браузерах, если имеется стандарт языка HTML, и все они обязаны правильно просматривать код? А в том-то и дело, что интерпретируют они код по-разному (иногда очень по-разному), причем не только версии разных браузеров, но и разные версии одного и того же браузера. Причиной этого явилась конкуренция компаний, когда они вводили новые тэги для повышения конкурентоспособности своих продуктов. И как следствие любой закрытой программы, они по разному понимают значение тех или иных тэгов.

Отсюда, первое правило - профессиональный web-дизайнер просто обязан знать, как просматриваются его странички во всех популярных браузерах и их различных версиях.

Второе правило профессионального web-дизайна

Кроме этого, приходится также учитывать тот факт, что пользователи имеют компьютеры с различной аппаратной конфигурацией. Я не имею ввиду, что кто-то ходит по Web на 286 машине (а вдруг правда? , но есть много вполне современных компьютеров, которые обладают низкой разрешающей способностью. За примерами далеко ходить не надо - ноутбук. Большое их количество выпускается с черно-белым экраном, а цветные ноутбуки чаще всего ограничены палитрой в 256 цветов. Или, например, палмтопы (становящиеся популярными карманные компьютеры) под управлением Windows CE - они изначально были черно-белыми.

Вот, добрались и до второго правила - профессиональный Web-дизайнер должен просматривать странички при различном количестве цветов. И в случае необходимости делать странички с использованием только безопасной палитры.

Третье правило профессионального web-дизайна

Все странички принадлежат одной большой объединенной сети (WWW называется , и в этой сети находятся совершенно разные компьютеры: IBM PC-совместимые, Apple Macintosh, различные версии UNIX, Amiga, : Да и все что угодно. И все эти платформы, так скажем, немного отличаются при выводе графики на экран. Вряд ли шрифт в Linux будет точно таким же, как в Windows, да и палитра цветов по умолчанию может отличаться, и алгоритм дайзеринга при выводе на экран, и : В общем, если сайт важный и представляет интерес для широкого круга пользователей, то обязательно протестируйте сайт на разных платформах и под разными операционными системами. Это было третье правило профессионального Web-дизайнера

И не забывайте про текстовые браузеры, самым известным представителем которых является Lynx. Сайт может быть сколь угодно красив, но что от этого толку, если его не увидят! Поэтому всегда думайте о том, как сайт будет выглядеть в текстовом варианте. Навигация должна оставаться простой и понятной. И достигается это простыми способами: если у вас меню в виде картинки, то не поленитесь снабдить все картинки подписями, а если не получается, то продублируйте меню текстовыми ссылками внизу страницы. Владельцы текстовых браузеров будут счастливы И заметьте, что ни один из текстовых браузеров не отображает таблицы, а текст внутри ячеек выводит сплошным потоком (слева направо и сверху вниз). То же самое с фреймами.

В общем, не все ладно в мире браузеров. Придут времена и все они будут показывать странички так, как описано в спецификации, но сейчас : Сейчас нам приходится учитывать все нюансы и особенности браузеров при изготовлении Web-страниц.





  1. Конфигурация и управление веб-серверами.


Встроенные средства управления сервером. (apachectl, apxs)


Встроенные средства управления apache содержатся как в самом сервере, так и в отдельных скриптах, которые идут с сервером.

Простейшиие методы отладки и запуска сервера реализованы с помощью отдельных функций, которые вызываются запуском сервера с ключами.

httpd –l – показывает способ компилирования апача и встроенные модули.

httpd –h – онлайн-хелп,

httpd –x – запуск единственного клона сервера, обычно используется для отладки.


Скрипт apachectl – интерфейс контроля сервера, основной скрипт для корректного запуска/перезапуска сервера, особенно необходим/незаменим при использовании SSL. Формат :

Apachectl {start|stop|restart|startssl|configtest|status|fullstatus}


Скрипт apxs - APache eXtenSion tool – наиболее важный скрипт для инсталляции и добавления новых модулей к серверу. Пример использования:

$ apxs -i -a -c mod_foo.c

gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c

ld -Bshareable -o mod_foo.so mod_foo.o

cp mod_foo.so /path/to/apache/libexec/mod_foo.so

chmod 755 /path/to/apache/libexec/mod_foo.so

[activating module `foo' in /path/to/apache/etc/httpd.conf]

$ apachectl restart

/path/to/apache/sbin/apachectl restart: httpd not running, trying to st

art

[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_mod

ule

/path/to/apache/sbin/apachectl restart: httpd started

$ _


Logresolve – наиболее полезный модуль с точки построения статистики посещений и мониторинга популярности сервера и попыток его взлома, в простейшем виде из обычного лога он делает лог-файл с разрезолвленными именами, что значительно упрощает его анализ.


Глобальные разделы конфигурации.


Конфигурация сервера apache разбита на несколько основных разделов, как для удобства, так и для простоты парсинга файла.

  1. Директивы, контролирующие работу сервера целиком - 'global environment'.

  2. Директивы, контролирующие поведение дефолтного, или основного сервера, далее эти директивы распространяются как используемые по-умолчанию для всех виртуальных серверов.

  3. Директивы виртуальных хостов, которые иерархически наследуют общие настройки и могут переопределять их.


Основные директивы глобальной конфигурации.

ServerType standalone (inetd)

Определяет тип сервера.

ServerRoot "/usr/local/httpd"

Путь к корневой директории сервера.

PidFile /usr/local/httpd/logs/httpd.pid

Путь к pid-файлу.

Timeout 300

Количество секунд которое ждет сервер перед отсылкой сообщения «сайт недоступен».

MaxKeepAliveRequests 200

Количество одновременно поддерживаемых запросов, рекомендуется ставить большим, но не ставить 0 – бесконечность.

MinSpareServers 1

MaxSpareServers 15

Параметры количества одновременно запускаемых серверов на каждый хост – первый не рекомендуют ставить 0, и не ставить достаточно большим из-за ограниченности памяти, второй – может быть достаточно большим.

StartServers 3

Минимальное количество запускаемых серверов, когда к сайтам нет никаких обращений.

MaxClients 256

Количество одновременно запросов клиентов, рекомендуется ставить максимум –256.

Listen 80

Порт. Стандартный порт для HTTP – 80, альтернативный – 8080.

Далее идет секция модулей, менять в которой что-либо необходимо только при добавлении новых модулей.

User httpd

Group httpd

Пользователь и группа процесса. (по умолчанию обычно - nobody)

ServerAdmin [email protected]


Далее идут настройки корневого хоста.


ServerName www.univ.kiev

DocumentRoot "/usr/local/httpd/www.univ/www"


Options FollowSymLinks Indexes IncludesNOEXEC

AllowOverride All


Далее идут настройки виртуальных хостов.

Примеры

1.

Options FollowSymLinks Indexes IncludesNOEXEC

AllowOverride All

Order allow,deny

Allow from all

2.

Options FollowSymLinks Indexes

AllowOverride All

Order allow,deny

Deny from all

allow from icc.univ.kiev

AuthType Digest

AuthDigestFile /usr/local/httpd/www.icc/www/squid/.htaccess

AuthName "ICC Secret Area. Users Control"

require valid-user

satisfy any


3.

ServerAdmin [email protected]

DocumentRoot /usr/local/httpd/www.philosophy/www

ServerName kiev.philosophy

ErrorLog /usr/local/httpd/www.philosophy/log/error_log

CustomLog /usr/local/httpd/www.philosophy/log/access_log combined

AddType "text/html;charset=koi8-r" .html .htm


Вспомогательные скрипты – просмотр и ротация логов, статистика посещений.


Ротация логов и их резолвинг может быть реализован с помощью стандартных средств сервера, для apache это logresolve и logrotate.

Кроме этого вы можете захотеть написать свои собственные скрипты, на пример на языке bash которые автоматизируют вашу работу. Пример:

### Going to start log cutting


for i in `ls /usr/local/httpd/` ;

do

if [ -f /usr/local/httpd/$i'/log/access_log' ] ; then

/usr/bin/tail -1000 /usr/local/httpd/$i'/log/access_log' > /usr/local/httpd/$i'/log/ttt'

cp /usr/local/httpd/$i'/log/ttt' /usr/local/httpd/$i'/log/access_log'

rm /usr/local/httpd/$i'/log/ttt'

fi

done

Кроме этого могут быть использованы программы третьих сторон, различные варианты, в том числе и бесплатные и с открытым исходным кодом, доступны в большом количестве в Internet, как например одна из наиболее распространенных программ – webalizer генерирует очень полезную и наглядную статистику, написана на языке С и поэтому достаточно быстро работает. Кроме этого, лог-файлы вам все равно придется удалять (или ротэйтить), поскольку довольно быстро они займут все свободное место на диске, а иметь статистику за год-два всегда полезно для отслеживания динамики развития и популярности сайта.


Безопасность веб-сервера.


Кpаткое описание пpоблемы:

Публичные веб-сеpвеpа пpодолжают оставаться объектами атак хакеpов, котоpые хотят с помощью этих атак нанести уpон pепутации оpганизации или добиться каких-либо политических целей. Хоpошие меpы защиты могут защитить ваш сайт от тех непpиятностей, котоpые будет иметь ваша оpганизация в случае успешной атаки на него.

Уязвимые опеpационные системы:

Любая веpсия Unix или Windows NT, котоpая используется как веб-сеpвеp.

Ущеpб от атаки:

Возможен pазличный ущеpб - от пpостого блокиpования pаботы сеpвеpа до замены его содеpжимого поpногpафическим матеpиалом, политическими лозунгами или удаления гpупп файлов, а также pазмещения на сеpвеpе пpогpамм-тpоянских коней

Как pешить пpоблему:

Соблюдать все пpавила безопасности, описанные ниже, и опеpативно устанавливать все испpавления пpогpамм, о котоpых вам сообщила ваша гpуппа компьютеpной безопасности или пpоизводитель ваших пpогpамм, используемых на веб-сеpвеpе.

Оценка pиска:

Публичные веб-сеpвеpа взламываются почти ежедневно; угpоза того, что будет совеpшена атака и на ваш веб-сеpвеp, - pеальна.


Пpавила обеспечения безопасности WWW-сеpвеpа:

  1. Разместите ваш веб-сеpвеp в демилитаpизованной зоне (DMZ). Сконфигуpиpуйте свой межсетевой экpан (файpволл) таким обpазом, чтобы он блокиpовал входящие соединения с вашим веб-сеpвеpом со всеми поpтами, кpоме http (поpт 80) или https (поpт 443).

  2. Удалите все ненужные сеpвисы с вашего веб-сеpвеpа, оставив FTP (но только если он нужен на самом деле) и сpедство безопасного подключения в pежиме удаленного теpминала, такое как SSH. Любой ненужный, но оставленный сеpвис может стать помощником хакеpа пpи

    Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
    Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

    Поможем написать работу на аналогичную тему

    Получить выполненную работу или консультацию специалиста по вашему учебному проекту
    Нужна помощь в написании работы?
    Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: