Новые книги

Компания-легенда, история которой началась в тесной квартире учителя английского языка, а спустя всего 10 лет после основания достигла показателей продаж, значительно превышающих результаты eBay и Amazon, вместе взятых. Это рассказ, как никому не известному Джеку Ма и его 17 друзьям удалось сформировать отсутствующую интернет-индустрию в огромной – больше миллиарда жителей – стране. О людях, которые верили в себя и свое дело даже в самые тяжелые моменты – и сумели изменить мир.
Это руководство предназначено всем, кого интересуют азы криптографии; оно в популярной форме объясняет терминологию и технологию, с которыми вы столкнётесь, используя продукты PGP. Будет полезно прочитать его прежде, чем начинать работать с криптосистемой.

Руководство включает следующие главы:

Глава 1, «Основы криптографии», представляет описание терминологии и концепций, с которыми вам придётся иметь дело, используя PGP.

Глава 2, «Фил Циммерман о PGP», написанная автором PGP, содержит детальное обсуждение вопросов безопасности и прав личности, а также уязвимостей, присущих любой криптосистеме, включая PGP.

Конфигурирование сервера HTTPD и формат языка HTML


Конфигурирование сервера HTTPD и формат языка HTML

  • index.html Если просят выдать каталог, то выдают index если его нет, выдается просто оглавление каталога
  • HEADER.html Его содержимое добавляется перед началом листинга
  • README.html Его содержимое добавляется к концу листинга
  • .htaccess Управляющий файл с локальными настройками текущей директории

Разобраться стоит с этими характеристиками: Alias - где то должна лежать расшифровка. а сервер будет ее подставлять. Вот только где ?

Нужно задавать так:

           &  -  &
           "  -  "
           >  -  >
           <- <>>  -  >>
          << << (C) © или © (R) ® <="-" <>=  -  &GT=
 Extra space  -   

<title> Заголовок всего документа </title>

Заголовок 2-го уровня


<A HREF="Dokument.html#A1.4.1.1">Ссылка на подраздел в документе</A>
<A HREF="#2" taget=newwindow>Ссылка открываемая в другом окне</A>
<A NAME = "A1.4.1.1">Так это место должно быть помечено в Документе</A>

Пример Источник
  • Одна позиция
  • Другая позиция
<ul>
<li> Одна позиция
<li> Другая позиция
</ul>
Пример Источник
  1. Одна позиция
  2. Другая позиция
<ol>
<li> Одна позиция
<li> Другая позиция
</ol>
Пример Источник
  • Одна позиция
  • Другая позиция
  • <menu>
    <li> Одна позиция
    <li> Другая позиция
    </menu>
  • Одна позиция
  • Другая позиция
  • <dir>
    <li> Одна позиция
    <li> Другая позиция
    </dir>
    Пример Источник
    Название пункта
    Текст, расписывающий содержимое пункта
    Название пункта
    Текст, расписывающий содержимое другого пункта
    <dl [compact] >
    <dt> Название пункта
    <dd> Текст, расписывающий содержимое пункта
    <dt> Название пункта
    <dd> Текст, расписывающий содержимое другого пункта
    </dl>

    Пример

            Преформатированный     фрагмент текста
    

    Источник

    <pre>
            Преформатированный     фрагмент текста
    </pre>
    

    Пример

            Преформатированный     фрагмент текста в ширину 80
    

    Источник

    <pre width="80">
            Преформатированный     фрагмент текста в ширину 80
    </pre>
    

    Пример

    Устанавливает общий отступ вправо. Вынесенный вправо фрагмент текста

    Источник
    <BLOCKQUOTE>
    Устанавливает общий отступ вправо.
    Вынесенный вправо фрагмент текста
    </BLOCKQUOTE>

    Горизонтальная черта <hr>


    Окончание параграфа <p>

    Жесткий конец строки <br> Текст между тагами <nobr></nobr> не будет переноситься на новую строку каким бы длинным он не был ............................................................

    <b></b> Bold жирный текст
    <i></i> Itallic курсив текст
    <u></u> Underline подчеркнутый Работает только в Netscape 3
    <tt></tt> Typewriter текст с фонтом фиксированной ширины
    <blink></blink> Blink мигающий текст
    <strike></strike>Strike перечеркнутый текст

    <dfn></dfn> Definition. Определяемое слово italic
    <em></em> Emphasis. Ударение italic
    <cite></cite> Titles of books. Цитата italic
    <code></code> Programm. Программный текст fixed
    <kbd></kbd> User keyboard entry. bold fixed
    <samp></samp> Status message fixed
    <var></var> Variable. italic
    <strong></strong> Strong emphasis. bold
    <address></address>

    Выделяется адрес italic

    _BODY_ таги срабатывают только если расположены в самом начале документа

    <body bgcolor="#000000" text="#ffffff" link="#FFFF00" vlink="#0000ff">
    А так устанавливают собственные цвета во всем документе

    <BODY bgcolor="#000000" LINK="#ff0000" text="#ffddbb" vlink="#aaaaaa">
    А так делали траурные колера, когда протестовали.

    Пример
    Текст бОльшего размера, и покрашенный в красный цвет, с заданным типом фонта

    Источник
    <font size=+1 color=red face="Helvetica">
    Текст большего размера, и покрашенный в красный цвет, с заданным типом фонта
    </font>

    <basefont size=3> Дальше пойдет текст с фонтом заданного размера

    <bgsound src=soundfile.au loop=10> а так же background звук

    <A HREF="Lightweight.html">Low impact

    <img src="kartinka.xbm">


    <img src="kartinka.gif" align=top align=middle>
    Если нужен текст сбоку от картинки (text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text)


    <img src="kartinka.jpg" align=left hspace=100>
    Отступ текста от картинки (text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text, text)


    <img src="kartinka.gif" LOWSRC=kartinka_bw.gif АLT="Вверх" height=102 width=50>

    • ALT - что написать, если картинка не читается,
    • LOWRES - перед рисованием большой картинки загрузить эту - маленькую

    Так подкладывают BACKGROUND
    <BODY background="/icons/designer/bk.gif">
    ...
    </BODY>

    Пример

    tr - задает строку Столбец Столбец
    Внутри таблицы может быть такой таг, Подзаголовок?
    Источник
    <table border=1 cellspacing=5 cellpadding=5 bgcolor=#00ffff>
    <tr>
    <td> tr - задает строку Столбец</td>
    <td>Столбец</td>
    </tr>
    </table>
    <caption>Внутри таблицы может быть такой таг, Подзаголовок?</caption>

    Пример

    Табличка фиксированной ширины, не зависящая от размеров внутреннего текста

    Источник
    <table width=300>
    <tr>
    <td> Табличка фиксированной ширины,</td>
    <td>не зависящая от размеров внутреннего текста</td>
    </tr>
    </table>


    <A HREF="/misc/bottom.map">
    <IMG SRC="/images/navigation_bar.gif" WIDTH=468 HEIGHT=32 BORDER=0 USEMAP="#navmap" ISMAP>
    <MAP NAME="navmap">
    <AREA COORDS="0,0,63,31" HREF="/index.html">
    <AREA COORDS="63,0,136,31" HREF="/comprod/mirror/index.html">
    <AREA COORDS="136,0,203,31" HREF="/assist/customer_service">
    <AREA COORDS="203,0,267,31" HREF="/toc.html">
    <AREA COORDS="267,0,329,31" HREF="/search/index.html">
    <AREA COORDS="329,0,415,31" HREF="/ads/index.html">
    <AREA COORDS="415,0,466,31" HREF="http://cgi.netscape.com/cgi-bin/showframes.cgi">
    <AREA COORDS="0,0,467,31" HREF="/index.html">
    </MAP>

    Клиент открывает tcp соединение с хостом www.host.com на порт (обычно 80) и говорит туда GET /local/url/file/name.html HTTP/1.0

    • Host: www.host.com
    • Http_referer: url_документа_на_котором_стоял_клиент
    • Еще некоторое количество заголовков, которые рассказывают серверу, кто с ним имеет дело.

    Все они, кроме GET необязательны
    . . .
    ^M^J - пустая строка - конец заголовков - конец запроса

    Обратно вываливается ответ сервера:

    • http-шные заголовки на нескольких строках
    • ^M^J - пустая строка
    • Собственно запрошенный документ as is

    Упражнение: скажите

    $ telnet www 80
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    GET /index.html HTTP/1.0
    

    И потом два раза нажмите на Enter

    Полная спецификация лежит, например на www.apache.org

    1. Чтобы SSI выполнялись, необходимо задать в конфигурационных файлах сервера:
      /etc/httpd/conf/access.conf :------------------------
      <Directory /home/httpd/docs>  # "Включить"
      Options All # Options Includes
      /etc/httpd/conf/srm.conf :------------------------
      AddType text/x-server-parsed-html .shtml
      

      или даже

      AddType text/x-server-parsed-html .html
      
    2. SSI отрабатываются только в файлах с расширением .shtml

    Примеры:
    <!--#exec cmd="ls -l" -->
    <!--#include virtual="bottom.html" -->
    <!--#element attribute=value attribute=value ... -->

    The value will often be enclosed in double quotes; many commands only allow a single attribute-value pair.

    The allowed ELEMENTS are:

    • config - параметры парсинга
      • errmsg - сообщение об ошибке, посылаемое клиенту
      • sizefmt - формат размера файла
      • timefmt - формат даты модификации файла
      • var - напечатать имя переменной
    • exec - выполнить shell или CGI-скрипт
      • cgi - (%-encoded) URL relative path to the CGI script.
      • cmd - выполнить shell
    • fsize - напечатать размер файла
      • file - относительное имя файла
      • virtual -(%-encoded) URL-path relative файла
    • flastmod - последнее время модификации файла
    • include - вставить документ
      • file - вставляемый файл
      • virtual - URL - только на этом же хосте

    Include variables These are available for the echo command, and to any program invoked by the document.

    • DATE_GMT The current date in Greenwich Mean Time.
    • DATE_LOCAL The current date in the local time zone.
    • DOCUMENT_NAME The filename (excluding directories) of the document requested by the user.
    • DOCUMENT_URI The (%-decoded) URL path of the document requested by the user. Note that in the case of nested include files, this is not then URL for the current document.
    • LAST_MODIFIED The last modification date of the document requested by the user.

    If server side includes are enabled, you will see data values below:

    The date is:                      <!--#echo var="DATE_LOCAL"-->
    The current version of the server <!--#echo var="SERVER_SOFTWARE"-->
    The CGI gateway version           <!--#echo var="GATEWAY_INTERFACE"-->
    The server name                   <!--#echo var="SERVER_NAME"-->
    This file is called:              <!--#echo var="DOCUMENT_NAME"-->
    This file's URI                   <!--#echo var="DOCUMENT_URI"-->
    The query string                  <!--#echo var="QUERY_STRING_UNESCAPED"-->
    This file was last modified:      <!--#echo var="LAST_MODIFIED" -->
    The size of the unprocessed file  <!--#fsize virtual="httpd.txt"-->
    sample.html was last modified     <!--#flastmod virtual="httpd.txt"-->
    You are using                     <!--#echo var="HTTP_USER_AGENT"-->
    You came from                     <!--#echo var="HTTP_REFERER"-->
    

    и внешними, вызываемыми программами - gateeway'ями. Сам CGI-script должен лежать в /home/httpd/cgi-bin тогда его находят (или в других каталогах, описанных в acces.conf Данные передаются в командной строке, через переменные окружения, и через стандартный ввод. Возвращаются на стандартный вывод, в начале должна стоять "волшебная строка"

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

    /etc/httpd/conf/srm.conf :------------------------
    AddType application/x-httpd-cgi .cgi
    

    То CGI-скрипты можно будет клась в любой подкаталог дерева документов - с расширением .cgi

    • Войти в файл, и спозиционироваться на строку с шаблоном "cl"
      http://hoohoo.ncsa.uiuc.edu/file.html#cl
    • Request for a CGI script with no extra path information and no query.
      http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi
    • Request for a script with extra path information, and no query.
      http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi/extra/path
    • Request for a script with no extra path information, and an ISINDEX query.
      http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi?query
    • Request for a script with extra path information as well as an ISINDEX query.
      http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi/extra/path?a+query

    Вызывается одна и та же программа, но ей передается 0,1,1 или 2 аргумента: extra path - "добавочный маршрут", идущий вслед за именем экзешника query - длинная строка после знака "?"

    на extra path работает image map - им передается имя описателя картинки query передается заполненным ISINDEX

    Параметры передаются в переменных окружения.

    REMOTE_ADDR=127.0.0.1
    REMOTE_HOST=localhost
    HTTP_REFERER=http://www.ac.msk.su:80/cgi-bin/html-KOI?KSP/bachurin.txt
    REQUEST_METHOD=GET
    QUERY_STRING=query
    PATH_INFO=/marshrut
    PATH_TRANSLATED=/home/httpd/docs/marshrut
    SCRIPT_NAME=/cgi-bin/proba
    HTTP_USER_AGENT=NCSA Mosaic for the X Window System/2.4  libwww/2.12 modified
    

    А теперь вот как оформляются формы с checkbox'ами:

    Пример

    Press me.

    Источник
    <FORM ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi" METHOD="POST">
    <INPUT TYPE="checkbox" NAME="button" VALUE="on">Press me.<p>
    <INPUT TYPE="submit" VALUE="Submit"><p>
    </FORM>

    # ISINDEX - параметр запроса передается программе CGI в $1
    # В форме METHOD=GET - там вызывается команда которой передается
    # аргумент в переменной окружения QUERY_STRING
    # http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi?button1=on&button2=off
    # А вот как работает POST, и PUT. Дополнительная информация проталкивается
    клиентом на сервер. Сервер подает ее cgi-программе на стандартный ввод.
    длина посылаемого файла устанавливается в переменной окружения CONTENT_LENGTH
    а тип данных - в CONTENT_TYPE
    FORM ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi" METHOD="POST"
    

    Пример

    Press me.

    Источник

    <FORM ACTION="/cgi-bin/proba" METHOD="GET">
    <INPUT TYPE=hidden   NAME="pg" size=0  VALUE="hidden from user information">
                ^^^^^ поле полезно чтоб хранить информацию о "сеансе"
    <INPUT TYPE=checkbox NAME="button" VALUE="on">Press me.<p>
    <INPUT TYPE=submit                 VALUE="Submit">
    <INPUT TYPE=reset                  VALUE="Clear form">
    <INPUT TYPE=text     NAME=d0       VALUE=""  SIZE=12 MAXLENGTH=32>
    <INPUT TYPE=password NAME=passwd>
    <TEXTAREA  NAME="comments" ROWS=2 COLS=60>Текст внутри формы</TEXTAREA>
       <SELECT NAME=what MULTIPLE>
          <OPTION VALUE=web  SELECTED>the Web
          <OPTION VALUE=news >Usenet
       </SELECT>
    </FORM>
    

    Content-type: text/html
    Содержимое, которое кидается сквозь нашего сервера - клиенту

    Если я генерю не содержимое, а только ссылку, то:

    Location: /path/doc.txt
    или
    Location: gopher://gopher.ncsa.uiuc.edu/

    Генерим текст в чистом серверном виде - он поедет клиенту сразу, без дополнительной фильтрации:

    --- start of output ---
    HTTP/1.0 200 OK
    Date: Tuesday, 26-Dec-95 15:17:10 GMT
    Server: NCSA/1.3
    MIME-version: 1.0
    Content-type: text/html
    Last-modified: Tuesday, 24-Dec-95 15:15:41 GMT
    Content-length: 3132
    This is a plaintext document generated on the fly just for you.
    --- end of output ---
    

    Подставляйте туда соответствующие значения переменных $SERVER_PROTOCOL $SERVER_SOFTWARE

    Автоподстановка URL с timeout'ом. Подставить в начало документа:
    <META HTTP-EQUIV="Refresh" CONTENT="12; URL=http://www.ras.ru/~moshkow/">
    Дальше идет местный HTML-документ - который через 12 секунд будет автоматически заменен на вышеуказанный URL

    Пример

    I'm entering for the first time from (city, state/country)

    Источник
    <form method=POST action="mailto:[email protected]">
    I'm entering for the first time from (city, state/country) <INPUT size=60 name="From">
    <br><br>
    <input type="submit" value="Click here (only the first time, please)"><p>
    </form>

    Content-type: text/html
    Set-Cookie: cookiename=valueofcookie; expires=Saturday, 28-Feb-96 23:59:59 GMT; path=/cgi-bin/mycgiprogram
    

    Эта штучка будет автоматом отсылаться в наш сервер клиентом, как только он ее получил

    Если сказать так, то клиент останется на старом мест, и не будет переходить по ссылке
    Status: 204 No Content

    Создаем в каталоге файл .htaccess такого содержания

    order allow,deny
    allow from all
    deny from polimos.ras.ru