КОНКУРС "СДЕЛАЙ ВСЕХ"
Правила

1) Вы присылаете информацию по WEB-у, HACK-у мне на почту в формате HTML.(EXE, BAT, TXT, rar, zip, arj, и остальные удаляются автоматически).
2) Обязательно указывайте свой НИК и е-майл(Если вы его меняете, то пришлите мне уведомление в форме:
Старый ник:
Новый ник:
Ваш е-майл:
е-майл в журнале не указывается без вашего разрешения)

НАПРИМЕР
3)Кто больше пришлёт информации, тот и получит цифровую фотокамеру.
4)КОНКУРС ПРОВОДИТСЯ ДО 5 СЕНТЯБРЯ 2005 ГОДА.
5)Вся информация которой у нас нет, принимается. А кто прислал её нам, записывается в ЛОГ, который можно посмотреть и определиться кто впереди.
6)Вы можете прислать свои предложения об оформлении журнала, или даже шаблоны.(Всё учитывается и прибавляется к вашим баллам).
7)Также вы можете создать свою тему. Как это сделать? Отвечаем!
Создаёшь файл KNOPKA.html
И делаешь шаблон-
Название темы:
Кто прислал(И.Ф.О. НИК)(неразглашается читателям):
Ваш е-майл:
Инфа по теме:

НАПРИМЕР
Вы должны поддерживать свою тему поэтому обновляйте инфу.
8)ВОПРОСЫ ПО КОНКУРСУ ПРИСЫЛАЙТЕ СЮДА d12p@rambler.ru

ТОЛЬКО В ФОРМАТЕ HTML


Хочешь свой баннер в журнале
Присылай но взамен ты должен(должна) разместить наш журнал на своём сайте. В письме укажите ссылку, где находится журнал на сайте.
ПРИСЛАТЬ


Пример

Старый ник: Vasia
Новый ник: SUPERVASIA
Ваш е-майл: vasia@mail.ru
указать е-майл: нет
ВОПРОСЫ ПРИСЫЛАЙТЕ СЮДА


Пример

Название темы: Бесплатный инет
Кто прислал(Ф.И.О. НИК): Тёркин Александр Тваревич (TVAR)
Ваш е-майл: TVAR@VSE.ru
Инфа по теме: И так есть провайдер с гос....
ВОПРОСЫ ПРИСЫЛАЙТЕ СЮДА


HACK

Введение в распределённые DoS атаки
Добываем халявный инет
Изменяем Windows
Криптография во FreeBSD и не только
О карточках метрополитена

В следующем выпуске:

Пластиковые карты
Секреты Windows XP: Удаляем лишнее
Сканер своими руками
Уязвимости mIRC-скриптов
Шесть способов залезть в 1С


Журнал "WHS"-WEB HACK SOFT (02.04)

Ваш броузер не поддерживает фреймы


ГЛАВНАЯ
Этот журнал обо всём чем мы занимаемся фрикинг, хакинг, софт, веб дизайн. Здесь вы найдёте много ссылок на софт в интернете, описание этого софта, да и так разные темы.

Вся информация находящаяся здесь взята с разных источников и у разных авторов.

Предлагайте свои варианты оформления журнала. Можете прислать уже готовый вариан(т.е. ШАБЛОН), и вы автоматически становитесь участником конкурса. Обязательно прочитайте тему "ДЛЯ ВАС"-правила.


С С Ы Л К И
samsung
web-hack
nht-team

Хочешь свой баннер <<<здесь>>>


ЛОГИ
НИК КОЛ-ВО ДАТА МЕСТО
WEBDIZ
15
1
RANGER
8
2
SanIOK
5
3
GLUKOVER
3
4

Если вы прислали нам информацию и вашего ника нет в логах, то пришлите нам письмо о нашей ошибке. Укажите свой ник и тему(ы) присланной информации. Пиши сюда


ГЛАВНАЯ

WEB

HACK

РАЗНОЕ

ДЛЯ ВАС

ЛОГИ

Пиши нам


РАЗНОЕ
Давай платить за мобильник меньше
Халявный межгород
Местоопределение абонента сотовой связи
Фазы стандарта GSM и эволюция SIM-карты
Пейджер. Что такое и как ломается

В следующем выпуске:

Некоторые основы FREENET
Очередная уязвимость в сотовых телефонах Siemens
Бесплатные звонки с таксофонов. Сборник рецептов
Бесплатные звонки с мобильных телефонов
Действия абонента при сбоях сети


WEB
Поговорим о редакторах HTML
Создание профессионального логотипа компании
Программы для веб "Графика и дизайн"
Сайты доноры - источники траффика
САМЫЕ ЛУЧШИЕ ПОЧТОВЫЕ СПОНСОРЫ
Каскадные таблицы стилей - CSS
Большая просьба пишите нам статьи по WEB-у


Введение в распределённые DoS атаки
Введение

Недавно была проведена координированная атака на несколько корневых серверов имен Интернет. Эта сложная атака известна как DDoS (distributed denial of service – распределенная атака на отказ в обслуживании). Хотя никаких серьезных последствий не произошло, это стало главной темой в мире безопасности. Похожие атаки проводились также в феврале 2000 г. Хотя эта тема обсуждалась и до этого, тем не менее, это был первый пример такой длительной DDoS атаки, на несколько часов перекрывшей доступ легитимного трафика к главным серверам. Yahoo, eBay, Buy.com, и CNN – всего лишь некоторые из крупных сайтов, ставших недоступными в течение длительного периода времени. Сейчас, спустя почти три года, может ли оказаться, что мы все еще не защищены? К сожалению, ответ – да. В этой статье рассматриваются основы DDoS атак, как они работают, что делать, если вы стали целью атаки, и что может сделать сообщество по безопасности, чтобы предотвратить их.

Что такое DoS?
Чтобы понять инциденты, описанные выше, будет полезно отступить немного назад и рассмотреть более простую форму этой атаки – отказ в обслуживании. Отказ в обслуживании, или DoS - самая базовая категория атак в сфере компьютерной безопасности, которая может использоваться в нескольких вариантах. Этот термин может быть применен к любой ситуации, в которой атакующий пытается помешать использованию кем-либо какого-либо ресурса. Это может быть реализовано различными методами, физическими и виртуальными. Например, атакующий может перекрыть доступ к телефонной системе путем перерезания главного телефонного кабеля, идущего к зданию, непрерывных звонков по всем свободным телефонным линиям, или взломав мини-АТС. Во всех трех случаях, атакующий достигает цели, закрывая доступ пользователей к ресурсу, т. к. становится невозможно произвести ни входящие, ни исходящие звонки.

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

DoS не является обычным взломом, в котором целью атакующего является получение неавторизованного доступа, но может оказаться столь же зловредным. Цель DoS – нарушение работы и причинение неудобств. Успех измеряется в продолжительности хаоса. Примененные против ключевых целей, таких как корневые DNS сервера, эти атаки могут быть серьезной угрозой. Угроза DoS атак зачастую стоит на первом месте при обсуждении концепций информационной войны. Их легко осуществить, трудно остановить, и они очень эффективны.

Что такое DDoS?
Темой этой статьи является специфичный тип DoS, который реализует координированную атаку от множества источников. DDoS, известная как распределенная атака на отказ в обслуживании, легко выполняется в большой сети, и может быть ужасающе эффективной. DDoS можно рассматривать как продвинутую форму традиционной DoS атаки. Вместо того, чтобы один атакующий наводнял цель атаки трафиком, используется множество компьютеров в связанной конфигурации "master-slave".

Процесс относительно прост. Взломщик получает доступ к множеству компьютеров, подсоединенных к Интернет (часто используя автоматизированные программы, известные как авторутеры) и устанавливает программное обеспечение DDoS (коих существует несколько вариантов). Это программное обеспечение позволяет атакующему удаленно управлять взломанным компьютером, делая его slave’ом. От устройства – master’а взломщик информирует slave’ов о цели и направляет атаку. Тысячи машин могут контролироваться из одной точки. Время старта, время остановки, адрес цели и тип атаки – все можно передать slave’ам от master’а через Интернет. Использованная для определенной цели одна машина может создать трафик в несколько мегабайт. Несколько сотен машин могут создать трафик в несколько гигабайт. Осознав это, легко понять, как разрушительна может быть эта внезапная высокая активность для практически любой цели.

Технологии взлома сети различны. При достаточном количестве машин, эффективной будет атака любого типа: можно направить ICMP запросы на широковещательный адрес (Smurf атаки), поддельные HTTP запросы, фрагментированные пакеты, или случайный трафик. Цель будет наверняка так сокрушена, что перестанет работать вообще, или как минимум качество ее работы очень сильно упадет. Атака может быть направлена на любое сетевое устройство: маршрутизаторы (эффективно блокирует всю сеть), серверы (Web, mail, DNS), или специфичные компьютеры (firewalls, IDS).

Почему так трудно противодействовать DDoS? Очевидно, что неожиданный, резко возросший трафик бросится в глаза любому компетентному системному администратору (если раньше не начнет звонить телефон и надрываться пейджер!). Однако, к сожалению, весь этот трафик будет наверняка подделанным, то есть истинный источник атаки будет скрыт. Это значит, что нет очевидного правила, которое позволит файрволлу защитить от этой атаки, так как трафик зачастую выглядит легитимным и может приходить откуда угодно.

Так что же остается делать? Остается ужасно тяжелая и нудная задача: исследование DDoS. На каждом шаге в цепочке маршрутизаторов, которые пересылали злонамеренный трафик в вашу сеть нужно сделать множество административных контактов: телефонных звонков, e-mail, и исследований перехваченных пакетов. Это требует много времени, особенно если учесть, что сеть или компьютер в настоящее время не работают. Принимая во внимание, что slave’ы могут быть расположены по всему миру, печальная правда состоит в том, DDoS атака чаще всего прекращается по милости атакующего, чем из-за каких-либо действий, предпринимаемых системным администратором атакованной системы.

Спасение от DDoS атак
Существует множество шагов, которые можно предпринять для смягчения эффекта от DDoS атак. Как было упомянуто в предыдущем разделе, начинать нужно с процесса исследования. Определите, какой магистральный маршрутизатор (маршрутизатор, обрабатывающий основной трафик Интернет) передает пакеты на ваш граничный маршрутизатор (маршрутизатор, который соединяет вашу сеть с Интернет). Свяжитесь с владельцами магистрального маршрутизатора, наверняка это будет телекоммуникационная компания или ISP, и проинформируйте их о вашей проблеме. В идеале, у них должна быть соответствующая служба, которая займется вашим вопросом. Им, в свою очередь, нужно будет определить, откуда в их сеть приходит злонамеренный трафик и связаться с источником. Но от вас здесь уже ничего не зависит. Так что же тем временем можете сделать вы?

Поскольку вы вряд ли сможете быстро остановить DDoS атаку, существует несколько шагов, которые могут помочь временно ослабить атаку. Если цель – единичная машина, простая смена IP адреса прекратит атаку. Новый адрес можно прописать на внутреннем DNS сервере и дать его только наиболее важным внешним пользователям. Это не очень красивое решение, но быстрое и действенное. Особенно оно применимо к ключевым серверам (например, почтовым, или баз данных), которые атакованы в вашей сети.

Есть шанс, что могут помочь некоторые методики фильтрации. Если атака не фальсифицирована, можно обнаружить в трафике определенную сигнатуру. Тщательное исследование перехваченных пакетов иногда дает характерные следы, на основе которых вы можете создать ACL (access control lists – списки контроля доступа) маршрутизатора или правила файрволла. К тому же, большая часть трафика может исходить от определенного провайдера или магистрального маршрутизатора. В этом случае вы можете временно заблокировать весь трафик от этого источника, что позволит пройти части легитимного трафика. Помните при этом, что вы также блокируете «реальные» пакеты, или легитимный трафик, но этим придется пожертвовать.

И последней возможностью, доступной для больших компаний и сетей, является установка дополнительного оборудования и увеличения пропускной способности во время атаки и ожидание ее прекращения. Конечно, это не лучшее решение, и не самое дешевое, но оно может временно устранить проблему.

Важно подчеркнуть, что процесс исследования необходимо начать сразу. Без сомнения, придется сделать множество телефонных звонков, e-mail, факсов между вашей организацией, вашим провайдером и другими людьми и компаниями, имеющими к этому отношение. На это, конечно, уйдет много времени, так что лучше раньше начать.

Предотвращение DDoS атак
Проблема DDoS может быть решена только всеобщими усилиями и более жесткими стандартами безопасности. Во-первых, администраторы и домашние пользователи должны в одинаковой степени быть уверены, что их компьютеры защищены. Slave’ы, используемые в DDoS атаках – продукт работы авторутеров, программ, которые сканируют тысячи машин, взламывают те из них, которые уязвимы, и устанавливают программное обеспечение. Установка последних патчей, остановка ненужных сервисов, и использование базовой файрволл фильтрации помогут вашей машине не стать добычей и участником в таких атаках. Регулярно проверяйте свои компьютеры на наличие уязвимостей с помощью специальных сканеров, например XSpider.

Наибольшая сложность при защите от DDoS состоит в поддельных IP адресах атакующих машин. Эта проблема может быть решена с использованием методики, называемой «исходящая фильтрация» (Egress filtering). Исходящая фильтрация анализирует пакеты, направленные в Интернет на граничном маршрутизаторе, стоящем перед магистральным маршрутизатором. Эти маршрутизаторы должны знать адреса всех устройств, стоящих за ним, поэтому все, что отправлено с других адресов – подделка. Поддельные пакеты должны отбрасываться до их попадания в Интернет или на магистральный маршрутизатор. Если сетевые администраторы установят такую фильтрацию по умолчанию, поддельные пакеты станут почти невозможными, что многократно сократит процесс идентификации в исследовании DDoS. К сожалению, в большинстве сетей эти фильтры отключены, и поддельные пакеты беспрепятственно проходят. IPv6, будущий IP стандарт, также имеет возможности защиты от этой фундаментальной сетевой проблемы.

Всегда имейте под рукой список административных и технических контактов с вашим ISP. Узнайте также, имеет ли ваш провайдер методику обнаружения и работы с DDoS атаками в своей сети. Некоторые крупные провайдеры имеют сенсоры, которые определяют неожиданный рост трафика в определенных точках, что служит сигналом для обнаружения и изоляции крупных DDoS инцидентов. Если вы сейчас ищите провайдера, спросите его, что они делают с DoS атаками. Если у вас уже есть провайдер, задайте ему тот же вопрос. В зависимости от ответа вы можете принять решение сменить провайдера.

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


Добываем халявный инет
Привет дружище! Любишь инет?Да? Я тоже люблю. Думаю тебе не раз хотелось посидеть в сетке,да вот не задача бабло уже давно кончилось(на инет) и по-видимому в ближайшее время не предвидится.Не огорчайся после прочтения этой статейки ты как и дальше сможешь качать свои: кряки,порнушку,висеть в irc и проч.:) Приступим. 1.Многие почтовые новостные сервера да.т специальнай доступ к своим пагам.Тоесть они на халяву дают тебе логин и пасс и ты можешь спокойно юзать их ОГРАНИЧЕННЫЕ сервисы.Много таких серваков просто "дырявые" и позволяют не только юзать СВОИ услуги. Гланое-нати такой сервак,а это сложно Также многие организуют что-то типа web-ring и дают кучу сайтов на хал.просмотр. См.способ выше.ТОесть при использование этого способа у тебя есть возможность не толко читать почту,но и чатиться,читать ньюсы и проч...(зависит от доброты админа и состояния компании) Вот тебе парочка линков: (Я живу не в России, поэтому "местных" подобных сайтов не знаю:( ) http://www.atlasua.net http://www.bigmir.net 2.Также не стоит забывать про тестовый доступ провов.С которым можно тоже творить кучу полезных вещей.Есть куча ламацких провов по принципу:"Купили выделенку,настроили софт-вот мы и пров"Обычно,у таких "супер"провов есть куча проблем в безопастности, так вот именно там может быть доступен весь инет через тестовый доступ.Маловероятно,но все-же. 3.Так теперь переходим к самому интерестному...Сейчас мы будем сканить шары на предмет поиска хал.инета.Там искать мы будем pwl файлы в которых хранться пароли и логины доступа. Для начала нужно узнать диапазон ip твоего прова сделать это довольно просто.Я думаю,ты не маленький,и пользоваться whois`ом умеешь. Дальше берешь прогу для скана шар.И сканишь.Прог бывает много, но я посоветовал бы тебе не извращаться,а использовать уже испробованых нами лидеров.Мой выбор- Essentirial NEt Tools,Legion,Xsharez. Выбирай и полльзуйся! Для нормальной работы тебе нужно произвести некторые настройки твоего компа. Если ты юзаешь локалку,то тебе уже делать ничего не надо,так как настройки уже сделаны.А если нет,то включи Нетбиос,службу доступа к файлам и папкам.Детальнее написано про эту настройку написано на хакинфо статья про нетбиос. Вот мы и просканили и нашли кучу компов с шарами.Теперь можно смело качать себе все пвлки и потом расшифровать их прогой pwlhack.После расшифровки у тебя будет логин и пароль доступа.Телефон.Ну ты же знаешь,какого прова ты сканил вот и узнай его телефон.Вместе с пвлками ты сможешь качнуть с компа кучу всяких рулезных вещей. 4.Трой.Ну тут говорить нечего,закинул трой-лови пароли. 5.Самый дебильный способ.На многих хакерский форумах специально.просто так выкладывают хал.инет!Ищи и будь первым!!! помни.сейчас провы значительно поумнели,поэтому выбирай менее популярного. и если че,то я этого не писал. Удачи...


Изменяем Windows
Сегодня мы будем делать Windows на свой вкус. Точнее мы будем менять ресурсы в системных файлах, тем самым изменяю и сам Windows. Для этого нам понадобится редактор ресурсов, напрмиер ResHack или Restorator, я буду рассматривать на примере ResHack'a, хотя разницы между ними почти нет.

И так, приступим. Если тебе надоела стандартная страница IE, о оишбке 404, сделаем свою! Для этого открываем в ResHack'e (File -> Open) файл SHDOCLC.DLL, который лежит в системной папке (не забудь сделать резервную копию этого файла, на случай, если что-то не получится), заходим в папку 23 и открываем раздел HTTP_404.HTM и там жмем на 1049. Справа отобразится содержание этой страницы, ты её можешь отредактировать так, как тебе нравится, вставить туда картинку и т.д. Также в это библиотекек до хрена всего. Там есть диалоговые окна. Открой Dialog/4416 и перед тобой отобразится твоё любомое окошко о сохранении файла. Ты можешь его отредактировать, жми правой кнопкой мыши по появившейся форме и жми в меню Insert Control. Появится новое окно, жми по картинке с надписью Label в разделе Caption пиши что хошь, например "Здесь был Вася :)" и жми кнопку ОК. Размещай Label как хошь, и потом жми вверху Compile Script. Если ни каких месаг не вылезло, значит все ОК. Сохраняй файл и лезь в инет смотреть на своё творение. Также можно изменить меню IE!!! Открывай Menu/258 и у тебя отобразится часть меню IE, которое ты можешь изменить. А... забыл сказать, можно изменить текст, который написан в разделе Справка -> О программе. Для этого открывай 23/ABOUT.DLG Находи текст, начинающийся со слов "Программа основана на NCSA...", затем стирай его и что написано после него, и пиши свой текст, типа "Здесь был Вася " Также можешь заменмит все битмапы и гифы!

А сейчас я приведу список файлов, в которых хранятся очень интересные ресурсы!
PASSWORD.CPL
MAIN.CPL
ACCESS.CPL
MMSYS.CPL
RASAPI32.DLL
RNAAPP.EXE
SHELL32.DLL (самый большой!)
EXPLORER.EXE

И так, не забудь сделать резервную копию файла при его редактировании. С заменой некоторых файлов могут возникнуть проблемы, тогда перезагрузись в режиме MS-DOS и заменяй! Удачи!


Криптография во FreeBSD и не только
Эта статья является переводом текста Dru Lavigne.

В этой и нескольких последующих статьях я расскажу о шифровании данных, передаваемых по компьютерным сетям. Если вы помните цикл статей, посвященных обсуждению IP-пакетов (см. http://www.onlamp.com/pub/a/bsd/2001/03/21/FreeBSD_Basics.html), то вы уже знаете, что подавляющее большинство данных передается по сетям в открытом виде, легко перехватываемом злоумышленником при помощи снифферов. Такая ситуация может быть неприемлема в случае передачи пользовательских имен, паролей и некоторой другой важной информации. К счастью существуют так называемые криптосистемы (криптографические системы), предназначенные для защиты передаваемых в сети данных от посторонних глаз.

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

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

Приватность
Функция приватности гарантирует, что поток передаваемых данных сможет «понять» только их получатель. Даже если пакет с данными будет перехвачен сниффером, он не сможет декодировать содержимое сообщения. Криптосистемы используют алгоритмы шифрования (шифры) для кодирования передаваемого «чистого» текста в шифротекст перед передачей его в сеть. Для расшифровки принятого шифротекста получатель использует специальный ключ. Отправитель и получатель должны использовать один и тот же ключ как для шифрования так и для дешифрования данных. Разумеется, что для обеспечения приватности данных важнейшее значение имеет секретность ключа и его наличие только у отправителя и получателя, поскольку при помощи ключа любой желающий может расшифровать шифротекст (как и зашифровать, что часто является не менее опасным – прим. переводчика).

Может случиться, что кто-то расшифрует данные при помощи взлома (подбора) ключа. Под стойкостью шифровального алгоритма понимается сложность взлома его ключа. Обычно сложность взлома пропорциональна длине ключа. Длина ключей измеряется в битах. Например, что бы взломать ключ 56-битного алгоритма обычно требуется гораздо меньше времени, чем что бы взломать ключ 256-битного.

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

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

Существуют законодательные ограничения на использование тех или иных алгоритмов, которые существенно отличаются от страны к стране. (Стоит отметить, что на территории Российской Федерации официально позволено применение лишь криптографических средств сертифицированных ФАПСИ. Объясняется это заботой о безопасности граждан, поскольку всегда существует вероятность существования в алгоритмах так называемых «закладок» при помощи которых их создатели легко могут расшифровать шифротекст без обладания секретным ключом. Насколько свободны от «закладок» алгоритмы предлагаемые российскими спецслужбами, можно только догадываться, опираясь на многочисленные свидетельства чистоты их рук – прим. переводчика.)

Некоторые страны ввели экспортные ограничения. Это значит, что внутри страны разрешается применять сильную криптографию с большой длиной ключа, но как только получателем информации становится лицо находящееся за пределами страны, законопослушный отправитель должен использовать менее сильные алгоритмы с меньшей длиной ключа. Соединенные Штаты Америки ограничивают вывоз криптографических алгоритмов с длиной ключа более 40 бит (сейчас это ограничение несколько смягчено – прим. переводчика), вот почему некоторые алгоритмы поддерживают лишь скромные ключи размером 40 бит. (Разумеется у свободолюбивого интернет- и корыстолюбивого бизнес-сообщества имеется мягко говоря другой взгляд на данную проблему. Поэтому ситуация с течением времени кажется, меняется в пользу разрешения применения сильной криптографии. Обсуждению вопросов применения сильной криптографии посвящен не один номер бумажной Компьютеры. – прим. переводчика.)

В мире остаются страны в которых применение криптографии вообще запрещено. Если вы не уверены в законности применения криптографии в вашей стране, то займитесь исследованием законодательства, прежде чем приступать к конфигурированию вашей FreeBSD. (Если взглянуть на ситуацию с некоторым пессимизмом, то высока вероятность, что в результате борьбы с терроризмом и подобными угрозами, необходимость в этой статье полностью исчезнет. Особенно в России – прим. переводчика.)

В этой таблице сравнивается несколько алгоритмов о которых вы могли слышать. Алгоритм Размер ключа Запатентован Комментарий
DES 56 медленный, легко вскрывается
3DES 168 медленный
Blowfish 32 - 448 нет чрезвычайно быстрый
IDEA 128 да
CAST 40 - 128 да
Arcfour 40, 128
AES (Rijndael) 128, 192, 256 нет быстрый
Twofish 128, 256 нет быстрый

Какой именно кусок данных в первоначальном пакете данных будет зашифрован зависит от режима шифрования. Если криптосистема использует транспортный режим, то шифруются только данные, содержащиеся в передаваемом пакете, в то время как заголовок пакета передается открытым текстом. Это означает, сниффер не сможет получить доступ к данным пакета, но может определить порт и IP-адрес отправителя и получателя пакета.

Если криптосистема использует туннельный режим, то шифруется весь пакет – и заголовок и данные. Поскольку необходимость маршрутизации пакета сохраняется, создается еще один пакет третьего уровня, в который вкладывается зашифрованный пакет. Этот процесс называется инкапсуляцией. С его помощью можно установить совершенно другой адрес получателя, чем тот который находится в первоначальном пакете. Зачем такое может понадобиться мы обсудим позже, когда будем разговаривать о конфигурировании FreeBSD для использования IPSec.

Целостность
Целостность это второй краеугольный камень полноценной криптосистемы. Механизм обеспечения целостности отвечает за то, что принятые данные не изменились в процессе передачи и эквивалентны тому, что было отправлено. Для реализации этого механизма используется другой класс алгоритмов. Это так называемые алгоритмы подсчета криптографической контрольной суммы (хеша) или дайджеста сообщения. Быть может вы уже знакомы с контрольными суммами поскольку они используются для проверки, того что все биты фрейма или заголовка стоят в том порядке, в котором были отправлены. Однако алгоритмы использующиеся для подсчета контрольной суммы фрейма или заголовка, чрезвычайно просты, а это означает, что математически довольно легко изменить передаваемую последовательность битов при сохранении неизменной контрольной суммы. Криптографические контрольные суммы должны быть гораздо менее подвержены подобной компрометации.

Подобно алгоритмам шифрования, алгоритмы подсчета контрольных сумм отличаются по своей эффективности. .Для более длинных контрольных сумм сложнее подобрать последовательность данных при которой бы сумма оставалась бы неизменной. Некоторые алгоритмы подвержены известным уязвимостям. Вот таблица, в которой собраны сведения по распространенным алгоритмам генерации контрольных сумм: Алгоритм генерации контрольной суммы Длина Известные уязвимости
MD4 128 есть
MD5 128 теоретически есть
SHA 160 теоретически есть
SHA-1 160 пока нет

Подобный порядок упоминания алгоритмов в таблице не случаен. Применительно к криптографическим контрольным суммам алгоритм MD4 дает наименьшую надежность, а SHA-1 – наибольшую. Всегда выбирайте наиболее надежную хеш-функцию доступную в вашей системе.

Следует упомянуть еще об одном вещи, имеющей отношение к криптографическим хеш-функциям, это так называемый HMAC (Hash-based Message Authentication Code – хешевый код идентифицирования сообщений), при использовании HMAC для генерации контрольной суммы используется шифровальный ключ. Это полезно, поскольку невозможно сгенерировать контрольную сумму без доступа к ключу. Если при генерации контрольной суммы используется HMAC, то об этом сообщается добавлением аббревиатуры «HMAC» перед названием алгоритма хеш-функции. Например, HMAC-MD4 дает большую безопасность чем MD4, а HMAC-SHA большую чем просто SHA. Если опять отсортировать алгоритмы в порядке повышения их надежности, то получится следующий список:

MD4
MD5
SHA
SHA-1
HMAC-MD4
HMAC-MD5
HMAC-SHA
HMAC-SHA-1

Аутентичность
Итак у нас есть уверенность, что данные зашифрованы и что на этапе передачи в них нельзя будет внести изменения. Однако наши усилия пропадут даром, если данные, или, тем более ключ, ошибочно будут отосланы неверному адресату. В такой ситуации в игру вступает третий компонент криптосистемы – аутентификация (проверка подлинности).

Перед тем, как что либо зашифровать, необходимо создать ключ и распространить его между заинтересованными сторонами. Поскольку один и тот же ключ применяется как для шифрования так и для дешифрования сообщений, он называется симметричным (сессионным) ключом. Как нам безопасно обменяться ключами в первый раз? Как мы можем гарантировать, что ключ попал в нужные руки и больше ни к кому?

Для этого необходим другой класс алгоритмов шифрования, известных как алгоритмы шифрования с асимметричными ключами (алгоритмы шифрования с открытым ключом). Название «асимметричные» происходит из того, что отправитель и получатель сообщения для решения своих задач не пользуются одним и тем же ключом. Напротив, и отправитель, и получатель раздельно друг от друга генерируют пары ключей, которые состоят из двух ключей связанных математической зависимостью (по-русски говоря это значит, что ключи вычисляются при помощи какой-нибудь функции – прим. переводчика). Один из этих ключей, публичный (открытый), подлежит обмену. Таким образом, и получатель, и отправитель обмениваются своими открытыми ключами. Другой ключ, называемый секретным, должен сохраняться в тайне. Безопасность системы зависит от сохранности в тайне именно секретного ключа. Если секретный ключ скомпрометирован (вскрыт), заинтересованным сторонам следует немедленно отозвать скомпрометированные пары и сгенерировать новые пары ключей взамен старых.

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

Наиболее распространенным алгоритмом генерации ключа является алгоритм RSA. Довольно часто можно увидеть слово RSA рядом с фразами «digital certificates» (цифровые сертификаты) или «certificate authorities» (Встречается два перевода этого термина – «сертификат подлинности» и «сертификационные органы». Второй перевод правильный – прим. переводчика), так же используется аббревиатура «CA». Цифровой сертификат это подписанный файл, содержащий в себе открытый ключ и некоторую другую информацию о его владельце, а так же дату истечения «срока годности» сертификата. Состав информации содержащейся в сертификате описан в стандарте X.509 или PKCS #9. Вы можете почитать эти стандарты, обратившись по адресу
http://ftp.isi.edu/in-notes/rfc2985.txt или
http://www.rsasecurity.com/rsalabs/pkcs, соответственно.

Цифровые сертификаты обычно хранятся на так называемом «Certificate Authority» сервере (сервере сертификатов). Таким образом от вас не требуется обмениваться публичными ключами вручную. Ваша криптосистема в случае необходимости сама запрашивает у CA-сервера открытый ключ получателя. Такая схема позволяет строить масштабируемую систему аутентификации. Сервер сертификатов может хранить сертификаты многих пользователей, которые могут быть как людьми, так и компьютерами.

Для генерации цифровых сертификатов можно использовать алгоритм DSA. Однако этот алгоритм запатентован и, кроме того, работает несколько медленнее, чем RSA. Про разницу между RSA и DSA можно прочитать на страничке «часто задаваемых вопросов об отличиях между DSA и RSA» (см. http://www.rsasecurity.com/rsalabs/faq/3-4-1.html). (Вообще страничка «RSA Laboratories' FAQ» может стать неплохим источником сведений в случае, если вы решили углубить свои знания в области криптографии.)

Есть еще один вопрос который нам следует обсудить в связи с цифровыми сертификатами и CA. Цифровой сертификат имеет «срок годности» и не может быть удален с CA-сервера до указанной даты. Что произойдет, если секретный ключ будет скомпрометирован до истечения срока годности сертификата? Разумеется, вам захочется сгенерировать новый сертификат, в котором будет содержаться другая пара ключей. Однако вы не можете удалить скомпрометированный сертификат по истечения его срока годности. Для того, что бы быть уверенным, что сертификат не будет использован по неосторожности при проверке подлинности получателя, вы можете поместить его в CRL или Certificate Revocation List (список отозванных сертификатов). При каждом запросе сертификата производится проверка списка отозванных сертификатов для удостоверения, что сертификат все еще действителен.

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

Важно осознать, что алгоритм Диффи-Хеллмана не используется для генерации собственно сессионного ключа, а вот информация получаемая с его помощью как раз используется в процессе генерации. Все это основывается на весьма сложных математических выкладках, не рекомендуемых для чтения слабонервным (на самом деле, если не вдаваться в подробности и не обременять себя доказательствами из теории поля, все довольно просто – прим. переводчика). Лучшее объяснение человеческим языком с картинками, которое мне удалось найти, это статья Кейта Палмгрена «Диффи-Хеллмановский обмен ключами – нематематическое объяснение» (см. http://networking.earthweb.com/netsecur/article/0,,12340_624441,00.html).

Необходимо хранить ключевую информацию настолько защищенной насколько это возможно, так что чем больше бит в ключе, тем лучше. Возможные размеры ключа в Диффи-Хеллмановском алгоритме делятся на группы. В таблице сведены возможные значения Диффи-Хеллмановских групп:
Наименование Размер
1 768
2 1024
5 1536

При конфигурировании криптосистемы используйте максимально-поддерживаемый ею размер группы.

PFS или Perfect Forward Secrecy часто упоминается в связи с алгоритмом Диффи-Хеллмана. PFS предназначена для обеспечения гарантии того, что новая ключевая информация не будет никак связана со старой. Это означает, что если кто-нибудь узнает старый сессионный ключ, он не сможет воспользоваться им для генерации нового секретного ключа. PFS полезная вещь и, если используемая вами криптосистема поддерживает эту функцию, ее следует включить.

Резюме
Давайте быстренько подведем итог, как криптосистемы защищают данные передаваемые по сети.

В начале, используя открытый ключ получателя, вы убеждаетесь, что данные придут в нужные руки. Открытые ключи генерируются алгоритмом RSA и обычно содержатся в сертификатах на сертификационных серверах. После проверки подлинности получателя, при помощи алгоритма Диффи-Хеллмана генерируется информация, используемая для создания сессионного ключа. Как только создана ключевая информация, создается сессионный ключ, уникальный для каждой сессии. Этот ключ применяется для шифрования/дешифрования данных как отправителем так и получателем. Именно поэтому важно часто его менять. Перед шифрованием данных подсчитывается их криптографическая контрольная сумма. После расшифровки контрольная сумма пересчитывается для того, что бы убедиться в том, что сообщение не было искажено при передаче. В следующей статье вам представится отличная возможность поглядеть в действии на многое из описанного, поскольку мы рассмотрим конфигурирование одной из встроенных в FreeBSD криптосистем, а именно SSH.


О карточках метрополитена
Ранее многие уже успели познакомиться с различными материалами о карточках метро (www.chat.ru/~diagram/metro.html , www.chat.ru/~tigid/writer.htm). Кое-что в этих материалах устарело, так как инженеры-разработчики пропускных систем должны отрабатывать свой хлеб, и постоянно совершенствовать оборудование. Так, например, уже не проходит заклеивание скотчем магнитного слоя, изменилась также и структура записываемой информации.

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

В основу дублирующего устройства положен принцип двухкасетного магнитофона со сквозными трактами. Имеется некий планшет, на котором жестко закреплены две карточки: одна - с которой копируется информация, и другая - на которую производится запись. В качестве первой может использоваться только что купленная карточка, скажем на 5 или 10 поездок. Второй может служить любая использованная карточка без механических дефектов. Естественно перед записью вторая карточка должна быть стерта. Для этого не годится первый попавшийся магнит, так как магнитный носитель карточки обладает высокой коэрцитивной силой. Для стирания хорошо использовать плоские магниты от двигателя сломанного хард-диска. Два магнита разной полярности соединяются своими плоскостями через бумажную прокладку произвольной толщины. Получается некое подобие стирающей головки. Проводя такой головкой несколько раз по ленте, постепенно удаляем руку с магнитами от карточки, чтобы не оставить в каком-то месте сильно намагниченного участка (подобно методике размагничивания кинескопов).

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

В качестве воспроизводящей головки лучше использовать моно головку серии 6Д.

Головка записи от бытовых магнитофонов не годится. Придется ехать на Митинский рынок. Там у дедулек бывают старинные головки от сверхдревних однодорожечных магов ламповых времен. Выглядит такая головка в виде бублика диаметром ~3см. Она должна содержать 200-300 витков провода не менее 0,3 мм.

Электрическая схема тракта воспроизведения-записи примитивна. Воспроизводящая голова - предусилитель на одном транзисторе КТ3102 - триггер Шмита - ключ инвертор постоянного тока - головка записи. Питание от 12 В (ток около 1 ампера). Умный человек по этим словам схему нарисует, а остальным такое устройство противопоказано.

Итак, Вы изготовили копию магнитной карты. Что Вас ждет дальше (не затрагиваю аспектов уголовного кодекса)?

Как показали эксперименты, после создания конфликтной ситуации (то есть прохода по карточкам с одним и тем же номером и повторяющимися номерами проходов, или проход по дубликату после "смерти" основной карты) спустя двое, трое или максимум четверо суток - блокируются все дубликаты, включая и оригинал. То есть, метросеть работает в оффлайне с задержкой в 2-3 дня. Спустя этот срок на все турникеты поступает черный список всех конфликтных карточек - "СТОП-ЛИСТ" и проход по конфликтным номерам запрещается.

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


HACK


Давай платить за мобильник меньше
Думаю, многих из нас интересовал вопрос, как сэкономить на мобильных звонках? На мой адрес приходило много писем с вопросами и предложениями на эту тему. Но из предложений я не встретил не одного реального способа, в основном это были тупые разводы типа перепрошивка мобильника, перепайка, да эти фичи действительно существовали, но не в стандарте GSM, я не буду вдаваться в технические характеристики, ибо ты читаешь эту статью в надежде узнать действительно реальный метод экономии своих денежек. Метод, который я предлагаю, придуман не мной, он давно существовал, но для меня остается загадка, почему о нём не где не писали, не рассказывали. Итак, ближе к телу. Первое что я хочу заметить, что этот метод не противоречит не одному закону о связи и не является нарушения договора с оператором. Второе ты получаешь прямой городской номер своему мобильнику, и за это ты не платишь своему оператору мобильной связи. Третье, самая минимальная экономия 50%, а максимальная 85%.Это зависит от оператора. Ну как тебе стало интересно? Думаю что да. Для того что бы получить эти блага тебе понадобиться один девайс который называться GSM-ШЛЮЗ, примерная цена около 150$. Итак что и как работает. GSM-ШЛЮЗ представляет собой гибрид мобилки и обычного абонентского телефона, в него вставляться SIM карта и он подключается в телефонную розетку, то есть физически у него два номера один городской, а второй мобильный. А теперь о принципах экономии. Итак у меня есть мобилка подключённая к оператору Х, я покупаю GSM-ШЛЮЗ вставляю в него SIM карту товоже оператора Х и подключаю его в телефонную розетку для обычного телефона. Итак звонок с оператора Х по городу стоит У, а звонок с внутри сети стоит У/2, а входящий бесплатный. Для того чтобы позвонить по городу с трубы я звоню на свой GSM-ШЛЮЗ по тарифу У/2, входящий бесплатный, после соединения с GSM-ШЛЮЗом я слышу гудок телефонной линии и дальше набираю номер, итого вместо того чтобы заплатить У я плочу всего лишь У/2. Так теперь о входящих. Чтобы позвонить тебе на турубу, вызывающий должен набрать городской номер твоего GSM-ШЛЮЗа, после чего GSM-ШЛЮЗ вызывает твою трубку и опять же по тарифу внутри сетевого звонка и опять экономия 50%. Итак небольшие итоги все звонки с мобилки и на неё оператор видит как внутри сетевые и щетает по тарифам внутри сетевых. Подробное описание принципов работы ты можешь найти на http://www.gsm-bridge.com.ua/ Да жду писем с отзывами о девайсе и этим методом экономии.


Халявный межгород
В бывшем СССР доступ на междугороднюю сеть осуществляется так: после набора абонентом восьмерки, междугородняя телефонная станция (МАТС) посылает на АТС звонящего абонента запрос-АОН на определение номера, АТС на него выда|т номер в многочастотной форме. Метод обмана заключается в следующем: МАТС посылает запрос на определение номера, но номер выдаст не Ваша АТС а Вы. Итак: попробуйте у себя дома набрать индекс выхода на междугороднюю сеть - цифру "8" и внимательно проанализируйте звуки в телефонной трубке. Если после набора "8" Вас отключили примерно на 1 секунду, а потом Вы услышали длинный гудок значит Ваш номер определился и Вам предоставили выход на межгород, попробуйте сбрасывать и повторять набор "8". На моей АТС, особенно в час наибольшей нагрузки, аппаратура определения не всегда срабатывает и не отвечает на запросы. Именно это и нужно! Необходимо чтобы после набора "8" в линии были слышны запросы на АОН от МАТС. Обычно их 3 штуки (хотя может быть по-разному) и интервалы между ними обычно около секунды. После этого последуют короткие гудки т.к. номер не определился. Именно, в тот момент, когда идут эти запросы, сразу нужно в линию пустить "ответ АОН", в н|м будет закодирован номер абонента кому следует прислать счет за разговор. При этом совсем не обязательно подключать компьютер к телефонной линии, сигнал можно послать даже прислонив динамик к трубке т.к. система очень примитивная. Если Вы пустите в линию сигнал содержащий номер 0000000, то счет вряд ли кому-нибудь придет т.к. такого номера не существует. И так wav-файл с сигналом откройте на каком либо звуковом редакторе или плеере, поставьте режим "loop" чтобы сигнал проигрывался бесконечно по кругу и пускайте в нужный момент. Метод работает только на "дряхлых" АТС, в Клайпеде на номерах 29xxxx (кроме 298xxx). А что делать тем у кого на АТС исправно работает аппаратура АОН?.. Если Ваша АТС всегда выда|т Ваш номер к МАТС то можно поступить следующим образом: Подключить выход звуковой карты к телефонной линии (естественно не напрямую), набрать <8>, включить анти-АОН и во время его действия пустить в линию ложный <ответ АОН>. Анти-АОН должен быть отрегулирован на минимальную частоту работы, при которой он вс| же имеет эффективность. Дело в том что во время действия Анти-АОНа ваша АТС не может послать <ответ АОН>. При этом в промежутках между замыканием и размыканием линии Анти-АОНом (3-5 Hz) вы можете посылать туда вс| что захотите. Когда АнтиАОН прекратит работу ваша АТС пошл|т истинный <ответ АОН> правда теперь он уже ни кому не нужен. Звонить таким образом сложно, необходимо "набить руку", но когда научитесь будет очень удобно и приятно часами разговаривать по междугородке. Если Вы прочитали и ничего не поняли, то советую вам сначала ознакомиться с принципом работы АОНа, Анти-АОНа и АТС.


Местоопределение абонента сотовой связи
С давних пор человека наряду с прочими, волновал вопрос - где я? В древности капитаны кораблей внимательно смотрели на звезды именно с этой целью. Люди составляли карты (до сих пор это занятие непростое и дорогое), изобрели компас, запустили геодезические спутники и т.д. Что нам с Вами до всего этого? Где - то, какие-то умные и не очень, дяди смотрят на карты, тычут пальцем в компьютер и получают за это кучу денег. Ну и что? Всего лишь несколько примеров:

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

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

- Уже сейчас сотовые компании раскручивают новый вид услуг и Ваш злой, жадный шеф в курсе Ваших пермещений в обеденный перерыв, вечером, в выходной и в отпуске.

- Весенний скандал 2000 года, посвященный НТВ, всем наглядно показал, что Большой Брат не вымысел и не забытый кошмар. Внимательно посмотрите в телевизор и постарайтесь осознать, что любая власть государственная, финансовая, партийная, средств массовой информации и все остальные) очень желает знать о нас все.

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

- О надежности современных информационных систем, криптостойкости, ошибках и "ошибках" разработчиков известно уже достаточно много. Всякий, кто работал с Windows, это знает

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

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

НО мы имеем (хотим иметь) некоторые права.Например, право иметь собственное мнение, отличное от мнения вождей. Или, к примеру, право на анонимность и отсутствие слежки за каждым нашим шагом. Вы - журналист, предприниматель или просто поехали в баню с друзьями. А некто или Нечто доподлинно знает, где Вы сейчас находитесь. Здорово? - Нет! Не здорово.

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

2. Общие принципы организации сотовой связи.

Системы сотовой связи названы так потому, что они организованы по принципу сети. Вся территория разбита на ячейки (соты) в которых с помощью ретрансляторов обеспечивается непрерывная связь Вашего аппарата с ретранслятором. Расстояние между ретрансляторами выбирается из соображений обеспечения гарантированности связи. Для GSM 900 это примерно до 35 к.м. на открытой местности и несколько меньше в городе (экранирующее влияние зданий, переотражение сигнала и т.п.). Кроме того, емкость ретранслятора (количество одновременно работающих телефонов) тоже ограничена. В общем, в городе их больше чем в деревне, а в центребольше чем на окраинах. Поскольку абонент имеет свойство перемещаться, то сеть как-то отслеживает это перемещение и переключает аппарат абонента с одного ретранслятора на другой. Каждый включенный сотовый телефон периодически напоминает ретранслятору о своем наличии даже тогда, когда Вы не разговариваете. Ретранслятор определяет местоположение телефона и принимает решение - работать с ним дальше или передать на обслуживание соседнему. Аналоговые системы типа DAMPS измеряют соотношение сигнал/шум на входе приемника (чем дальше аппарат от ретранслятора, тем соотношение хуже). Измерение соотношения производится, скажем, двумя соседними сотами (ретрансляторами) и там где соотношение лучше к той соте и подключается аппарат. Точность определения координат невелика и составляет примерно процентов 15 - 20 от размеров соты. Статистический анализ возможно улучшает этот показатель до 10 - 12 процентов. Но в целом получаются точность 1,5 - 2 километра на открытой местности и 500 - 1000 метров в городе. Отключение штатной антенны Вашего телефона и применение направленной,с усилением хотя бы 7 - 10 децибел сильно изменяет точку зрения ретрансляторов на жизнь вообще и на Вас в частности. Если Вы направили антенну на ближайший ретранслятор, то он будет 'думать', что Вы к нему приблизились, соотношение сигнал/шум улучшилось. Ошибка будет определяться величиной усиления антенны и истинным расстоянием до антенны ретранслятора. Чем больше усиление и истинное расстояние, тем больше будет величина ошибки. При этом, кстати, качество собственно связи, улучшится на величину усиления направленной антенны. Применение направленной антенны в автомобиле приведет к парадоксальным эффектам. При повороте машины диаграмма направленности будет очень резко поворачивать вместе с машиной. Для Сети вы будете мчаться со скоростью самолета. Возможно, что у нее будут проявляться сбои, и пропадания связи с Вами, но в целом картинка получается весьма забавной. Представьте изображение своего телефона в виде точки на экране дисплея. И эта точка то перемещается прямолинейно, то перепрыгивает через целые городские кварталы. Применений дополнительных усилителей, круговых антенн в плане маскировки своего истинного местоположения мало что дает, так как сигнал при этом будет увеличиваться во всех ретрансляторах одновременно и они однозначно будут воспринимать Вас, как человека на крыше многоэтажки. Все вышесказанное относится и к системе NMT 450.

Гораздо сложнее устроена система GSM 900. Начнем с того, что она изначально создавалась как цифровая, супер надежная и отличная во всех смыслах, от других. Для чего и с какой целью ее сваяли - до конца, пока, неясно. Гарантировать от прослушивания она не в состоянии. Израильские программисты взломали ее шифры. Аналоговые сети вообще никак не защищены. Особо высокое качество передачи речевого сигнала не замечено (кодирование, декодирование, маленькая скорость передачи информации) с непривычки голос неузнаваем. У GSM значительно большая емкость (количество абонентов на 1 ретранслятор), что нам, в общем, до лампочки, какая у кого емкость. В GSM есть возможность передавать SMS сообщения - стали бы мы с Вами упражняться с SMS, если бы минута стоила копеек 20. Обеспечение пресловутого роуминга по всему миру - удобная штука. Можно не только с легкостью позвонить Вам или мне, но и поинтересоваться (без нашего ведома естественно) где, с кем и как мы отдыхаем. GSM гордится отсутствием двойников - не факт. Если есть доступ к базе данных провайдера, то прошить копию Вашей симм карточки - элементарно, Ватсон. Поэтому, когда Вы будете оплачивать чужие звонки из Урюпинска в Израиль, не удивляйтесь сильно. Сразу обращайтесь в компетентные организации, сейчас стало модно ловить мелких компьютерных хулиганов. Замена аппарата перестала быть проблемой. С заменой провайдера сложнее, но тоже возможно. Вот, пожалуй, и все. Зато реклама становится все назойливее и глупее. Но вернемся к нашей теме. На настоящий момент ввести в заблуждение систему определения местоположения абонента связи GSM весьма и весьма сложно. Ретранслятор постоянно излучает длинный, неповторяющийся, цифровой сигнал - эталон. Мобильный телефон его постоянно принимает и периодически небольшой его кусочек переизлучает. Ретранслятор сравнивает полученный сигнал с эталоном, вычисляет временную задержку и по ней определяет, где находится Ваш телефон и соответственно, Вы сами. Теоретически можно между телефоном и антенной поставить регулируемую или постоянную линию задержки - внести в систему ошибку. Но, к сожалению, физически это почти невозможно. Неизбежно возникают активные потери, которые придется компенсировать дополнительным усилителем, возможно сужение спектра сигнала и т.д. В любом случае крайне сомнительно, что вся система в целом останется работоспособной. Естественно, теоретически имеются и другие возможности показать фигу любителям заглядывать в замочные скважины, но они ещё достаточно далеки от практической реализации. Если у кого-то возникли свежие мысли по этому поводу - делитесь.

Теперь о точности топопривязки у GSM. Вообще то считается, что она составляет около 400 метров. Во всяком случае, эту цифру называют те, кто на ней работают. Цифра эта сомнительна. Не вдаваясь в подробности можно утверждать, что теоретически она должна составлять 1 - 5 метров.

3. Итог.

Итог в общем безрадостный. Вы купили себе мобильный телефон, но как выясняется, за свои же деньги купили и головную боль - точнее средство, которое имеет возможность молча, незаметно и совсем не больно фиксировать в каком-то далёком компьютере практически всю Вашу жизнь. Конечно, это необязательно, но вполне возможно. Определение местоположения наблюдаемого объекта является классической задачей шпионажа. Хорошо, если Вам это до лампочки, а если нет?


Фазы стандарта GSM и эволюция SIM-карты
Необходимое вступление
Разработка стандарта GSM - первого цифрового стандарта сотовой связи - началась в 1985 году. Развертывание сетей GSM, начавшееся только в 1991 году, предусматривало несколько этапов (фаз) развития. Всего на сегодняшний день зафиксировано 3 технологические фазы (и больше не будет), каждая из которых характеризуется определенным набором телефонных и дополнительных услуг, по которым их, собственно, и различают. Естественно, развитие сотовых сетей GSM потребовало совершенствования SIM-карт - каждая последующая фаза характеризуется большей по сравнению с предыдущей информационной емкостью SIM-карты и большим количеством функций.

Таким образом, вместо того, чтобы писать две статьи - "Фазы стандарта GSM" и "Эволюция SIM-карты" - сведем весь материал в одну и не будем делить неделимое.

Сети стандарта GSM: Фаза 1
Реализация спецификации Фазы 1 началась в 1991 году, полностью завершена в 1993 году. Информационная емкость SIM-карты - 8 Кбайт.

Основные функции:
Входящие и исходящие звонки.

Переадресация вызова (Call forwarding). Возможность перевода входящих звонков на другой телефонный номер в тех случаях, когда номер занят или абонент не отвечает; когда телефон выключен или находится вне зоны действия сети и т.п. Кроме того, возможна переадресация факсов и компьютерных данных.

Запрет вызова (Call barring). Запрет на все входящие/исходящие звонки; запрет на исходящие международные звонки; запрет на входящие звонки, за исключением внутрисетевых.

Ожидание вызова (Call wating).Эта услуга позволяет принять входящий вызов в тот момент, когда вы с кем-то разговариваете. При этом первый абонент или по-прежнему будет находиться на связи, или разговор с ним может быть завершен. Удержание вызова (Call Holding). Эта услуга позволяет, не разрывая связь с одним абонентом, позвонить (или ответить на входящий звонок) другому абоненту.

Блокировка карточки. Абонент может "закрыть" карточку PIN-кодом (4-8 символов) и таким образом ограничить доступ в сеть с помощью своей SIM-карточки. После ввода трех неправильно набранных РIN-кодов карточка блокируется. Абонент может разблокировать ее самостоятельно, введя PUK-код (PIN Unblocking Key), имеющий длину 8 символов. После десяти неправильно набранных PUK-кодов карточка блокируется окончательно, и в дальнейшем ее уже нельзя использовать.

Выбор сети PLMN (Public Land Mobile Network) - функция роуминга. SIM-карточка может выбирать для связи доступную в данном месте сеть из списка предпочтительных сетей, с которыми оператор - владелец карточки сети заключил роуминговые соглашения.

Служба коротких сообщений - SMS (Short Message Service). Позволяет абоненту принимать текстовые сообщения длиной не более 160 символов. Короткое сообщение записывается в память SIM-карточки под определенным номером, откуда оно может быть извлечено в удобное для абонента время. Сообщения транслируются через поддерживаемый оператором центр службы коротких сообщений - SMSC (Short Message Service Center).

Ускоренный набор номеров - ADNs (Abbreviated Dialling Numbers). SIM-карточка способна хранить в памяти несколько телефонных номеров, набор которых осуществляется нажатием какой-либо одной клавиши на аппарате.

Отправка и прием факсимильных сообщений.

Запрет работы в сетях, с которыми не подписано роуминговое соглашение - FPLMN (Forbidden Public Land Mobile Networks).

Сети стандарта GSM: Фаза 2
Реализация спецификации Фазы 2 началась в 1994 году, полностью завершена в 1997 году. Информационная емкость SIM-карты - 8 Кбайт.

Фаза 2 поддерживает все функции Фазы 1 и несколько дополнительных функций:
PIN2-код, который является средством защиты полей данных, к которым доступ пользователя запрещен.

"Совет по оплате" - AoC (Advice of Charge). Эта функция позволяет абоненту отслеживать стоимость звонка и информирует о количестве потраченных денег. Информация выводится на экран телефона. Абонент может не только узнать стоимость последних звонков, которые были совершены, но и перевести эту сумму из одной валюты в другую, а также запрограммировать карточку для ограничения общего объема потраченных средств. Функция, как правило, активируется оператором в предоплатных схемах обслуживания.

Фиксированный набор номеров - FDNs (Fixed Dialling Numbers) - позволяет абоненту ввести в память телефона список "разрешенных" номеров и затем передать аппарат другому лицу. Пользователь, получивший телефон, сможет звонить только по тем номерам, которые занесены в этот список.

Отправка коротких сообщений (в Фазе 1 предусмотрен только их прием).

Отображение статуса коротких сообщений.

Функция автоматического набора последнего номера (redial function).

Функция выбора языка меню.

Функция персонализации сообщений, которая позволяет оператору посылать текстовые сообщения (например, о погоде, спорте, дорожных пробках и т. д.) лишь тем абонентам, которые находятся в определенной зоне сотовой сети.

Поддержка нескольких телефонных номеров (для голосовой, цифровой, факсимильной связи).

Повтор последнего набранного номера.

Ввод номеров, состоящих из более чем 20 цифр (эта функция важна, например, при предоставлении абонентам дополнительных услуг, таких как телефонный банкинг).

Вывод на дисплей телефона название провайдера услуг.

Определение номера вызывающей линии (Calling Line Identification Presentation). При входящем звонке на экране высвечивается номер вызывающего абонента.

Антиопределитель номера (Calling Line Identification Restriction).С помощью этой услуги можно запретить определение собственного номера присоединении с другим абонентом.

Групповой вызов (Multi party). Режим телеконференции или конференц-связи позволяет объединить до пяти абонентов в группу и вести переговоры между всеми членами группы одновременно.

Создание закрытой группы до десяти абонентов (Closed User Group).Позволяет создавать группу пользователей, члены которой могут связываться только между собой. Чаще всего к этой услуге прибегают компании, предоставляющие терминалы своим служащим для работы.

Система голосовых сообщений (Voice mail).Услуга позволяет автоматически переводить входящие звонки на персональный автоответчик (голосовая почта). Пользоваться этим можно только в том случае, если у абонента активизирована услуга "переадресация вызовов".

Сети стандарта GSM: Фаза 2+
Когда началась реализация Фазы 2+ сказать сложно, поскольку спецификации до сих пор нет - новые услуги и функции стандартизируются и внедряются сразу после подготовки и утверждения их технических описаний Европейским институтом стандартизации электросвязи (ETSI). Для тех же, кому важна дата, скажем, что первые описания услуг Фазы 2+ появились в 1997, а реализация их операторами началась в 1998 году.

На сегодняшний день количество новых сервисов перевалило за полсотни. Подробно рассматривать их смысла нет, отметим несколько, наиболее интересных и перспективных. В первую очередь это, конечно, SIM Application Toolkit, который позволяет дистанционно обновлять содержимое SIM-карты для изменения или дополнения набора услуг. Кроме того: улучшенное полноскоростное кодирование речи EFR (Enhanced Full Rate) и возможность взаимодействия между системами GSM и DECT.

Сама SIM-карта претерпела большие изменения - во-первых, в Фазе 2+ появилась поддержка карточек с пониженным напряжением питания (не 5 В, а 3 В), что весьма неплохо, поскольку позволяет продлить время работы аккумуляторных батарей телефона; во-вторых, информационная емкость карточки увеличилась до 16-32 Кбайт.


Пейджер. Что такое и как ломается
Часть первая. Введение. Заводим Белазы и погнали.

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

Основной функцией пейджера является прием текстовых сообщений. Для того чтобы послать сообщение на пейджер, нужно набрать номер оператора т.е фирмы обслуживающей этот вид услуг и продиктовать свое сообщение. Но для начала нужно указать абонента т.е человека которому будет адресова- на мессага. Обычно сообщения принимает девушка. Приняв сообщение, она его пересылает абоненту т.е. непосредственно на пейджер, который уведомляет хозяина о сообщении писком или несложной мелодией. Также в перечень услуг оператора входит повтор сообщения с интервалом, опреде- ляемым отправителем. Можно также указать количество повторов, которое однако не больше опеределенного количества. Конкретное максимальное число повторов зависит от оператора. Это если у тебя нет комьютера, в интернете ты не разу не был и вообще телевизор не смотришь, а все общение с внешним миром осуществляется посредством радио, телефона, кричанием в форточку и перестукиванием по батарее с соседом Васей, о том что он ламер, сидящий на гнилом компе с частотой и памятью измеряемой в гигах, под управлением не менее гнилой ОС типа юникс. А если ты имеешь комп, хотя бы 486 или как его называют впростонародье "четверку", и на нем иногда выходишь в бескрайние просторы всемирной паутины, то в принципе этот процесс можно автоматизировать. Существуют специальные программы для рассылки пейджинговых сообщений. Программ великое множество, простеньких и с "наворотами". Я размещу некоторые на сайте, когда дойдут до этого руки. Способ отправки лишь немного отлича- ется от отправки через девушку-оператора. Отличия в том, что всю необходимую инфу ты вводишь сам. Это большой плюс. Ты можешь послать того же соседа Васю Замухрыжкина на три буквы, и задать компьютеру установку чтоб он посылал Васю 500 раз с интервалом в минуту . Думаю на долго терпения Васи не хватит и он, вконце концов, швырнет пейджер об стену.

Часть вторая. Перехват сообщений.

Думаю, вводный курс пройден, и теперь предлагаю более сложный материал. Пейджер работает на частотах 100-400 Мгц и поэтому сделать технику для перехвата сообщений не представляет особого труда. Для перехвата сообщений нужны будут 4 вещи: радиоприемник-сканер; демодулятор; компьютер; cофт.

1 радиоприемник. Радиоприемником может служить практически любой радиоприемник работающий в диапазоне частот 100-400 Мгц. Требование к нему такие,- чтобы он был с частотной модуляцией(FM), дискретность перестройки была как можно меньше, имел функцию сканнинга т.е автоматической перестройки по диапазону, и чтоб позволял запоминать несколько частот. Это несложно реализовать радиолюбителю средней квалификации. В ближайшее время я опубликую схему, топологию печатной платы, а также подробную методику настройки радиоприемника-перехватчика разработанного мною. А пока едем дальше.
2 демодулятор. Он представляет собой компаратор и формирует на выходе логические уровни RS-232, которые подаются на СОМ порт компьютера. Разьем типа RS-232, стандартный 25 выводный. Подавать сигнал нужно на 5 и 6 контакты.
3 компьютер. Естественно компьютер должен иметь СОМ порт.
4 софт. Существуют такие программы декодеры, работающие с протоколом POCSAG (Спецификацию POCSAG можно без тpуда найти в Интернете):
1. PageMaster (поддержка русских кодировок, фильтры, удобный интерфейс)
2. Prizma-1 (поддержка русских кодировок, интерфейс крайне корявый).
3. Prizma-8 (тоже, что Prizma-1, но декодирует одновременно 8 каналов).
4. PD 2.xx (буржуйский декодер, нет поддержки русских кодировок, интерфейса, как такового нет вообще ).
5. РОС32 ( сам с ней дела не имел, но приятель нахваливал). Конечно программ много, я лишь привел те, с которыми имел опыт работы( за исключением пятой). Напоследок не сколько советов тем челам, которые не собираются дожидаться когда я выложу схему и решили работать с тем приемником, который у них есть. Дабы не ухудшить качество сигнала, последний нужно брать непосредственно с выхода частотного детектора приемника и подавать на компаратор( подойдет отечественный К554СА3). После компаратора необходим буферный усилитель, в качестве которого может использоваться К555ЛА3 включенная последователно-параллельно, Но всеже желательно использовать буржуйские микросхемы, так как они более быстродействующие и дают меньший завал фронтов.

ПО ПОВОДУ СТАТЬИ ИНТИМ НЕ ПРЕДЛАГАТЬ ! ! !

А теперь информация для тех, кто стучит ложкой по батареи отпления и называет Васю Замухрыжкина ламером. Возможна такая картина на экране монитора,- беспорядочный на первый взгляд набор символов. Путей выхода из этой ситуации два. Первый- сменить кодировку, так как разные компании могут использовать разную кодировку. Это спаведливо и для одной компании, если она обслуживает несколько видов пейджеров. Второй проверить схему и найти ошибки. Ошибок может быть множество, от оловянной сопли до неисправного порта. Есть другой путь для осуществления перехвата сообщений,- создание пейджера двойника.Чтобы создать пейджер двойник, необходимо узнать капкод пейджера жертвы по его номеру, и зашить, с помощью программатора во второй пейджер. Теперь информация будет приходить на оба пейджера сразу.


Поговорим о редакторах HTML

Редакторов HTML такое немереное количество, что нет никакой возможности обозреть их целиком даже в десяти колонках. Поэтому буду говорить только о том, что сам пробовал.

Насущная, каждодневная потребность в HTML-редакторе возникла у меня пару лет назад. Тогда я и начал перелопачивать эти программы одну за другой. Причем надо мной постоянно довлел снобский жупел о том, что лучший редактор - это Notepad. Многие хакерские (и не только) сайты до сих пор с гордостью украшают свои странички надписями типа "Powered by Notepad". Круто, конечно, но не каждому подойдет. Дело в том, что многие люди просто не способны к линейному творчеству. Им доступен лишь образный ряд, с которым они только и могут работать.

Я имею в виду следующее. Дело вовсе не в том, что для работы с так называемыми текстовыми редакторами нужно знать язык HTML. Синтаксис основных тегов нужно знать в любом случае. Проблема заключена в ассоциативном ряде: когда я, например, смотрю на чистый лист бумаги, в мою несчастную голову приходит только одна мысль - написать что-нибудь непристойное. Другое дело, человек с линейными ассоциациями: он напишет формулу (знак, тег, крючок, букву), к ней прицепит следующую, затем - третью, четвертую и так далее. При этом он будет постоянно удерживать в голове целостную картину создаваемого им мира. Такой способ мышления свойствен 99% всех программистов (наверное, в силу такого мышления они и стали программистами). Остальное же население Земли воспринимает мир в наглядных образах: вместо знака мне нужна картинка, к которой я затем прибавлю другую картинку и так далее. На мой взгляд, существует целый ряд равноценных текстовых редакторов HTML высокого полета, а именно: HomeSite; HotDogProfessional; HoTMetalPro.

Каким-то непостижимым образом все эти программы начинаются на букву "х" (к чему бы это?). Разумеется, все три пакета - нечто гораздо большее, чем просто текстовый редактор (в противном случае я и в самом деле порекомендовал бы виндусовый "Блокнот"). Все три "хэ" состоят из двух модулей: непосредственно текстового редактора и просмотрового окна. В качестве последнего выступает либо сторонний браузер, либо какой-нибудь встроенный вьюер, например, Rover в HotDog'е. В любом случае редакторы этой группы отличает алгоритм работы: вы пишете вебстраницу на уровне тегов, портируемых модулей, вставок готового кода и т. п., а затем просматриваете полученный результат в браузере.

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

Поскольку нас, неполноценных нелинейных уродов, подавляющее большинство, то мы и поворотили свои очи в сторону так называемых WYSIWYG-редакторов HTML (WYSIWYG - What You See Is What You Get, "что видишь, то и имеешь"). Несмотря на то, что визуальных редакторов HTML едва ли не меньше, чем текстовых, львиную долю пользователей оттянул на себя микрософтовский FrontPage. Какое-то время биллгатусы пытались приучить пользователей писать вебстранички прямо в Word'e, но почему-то это не прижилось (хотя сама идея создания текстов любого формата в одном приложении мне очень нравится). И тогда появился отдельный клиент для создания HTML - FrontPage, который благополучно вошел в состав MS Office.

Как и все у "Микрософта", FrontPage развивается семимильными шагами, что не может не вызывать восхищения. Первые выпуски FrontPage оставляли шоковое впечатление: вы писали 1 килобайт текста, а программа кодировала его в 1 мегабайт мусора. Даже предыдущая версия - FrontPage 98, импортируя код, переделывала его до неузнаваемости, вернее, подгоняла под свои стандарты. Я, конечно, утрирую по части объема в килобайтах, но ранние релизы FrontPage несли такую отсебятину и всовывали такое количество немыслимого кода, что это было уже не смешно. Сегодня мир наслаждается FrontPage 2000 - серьезной платформой для создания вебстраниц WYSIWYG, а в следующем году будет наслаждаться версией FrontPage 10. Микрософтовский клиент продолжает впихивать свой собственный код, но уже в гораздо более умеренных объемах, что соизмеримо с работой других WYSIWYG-редакторов: хотите чистенький код, учитесь линейному мышлению.

Моя главная и извечная претензия к FrontPage - та же, что и ко всем остальным микрософтовским продуктам: назойливое поползновение думать вместо меня. Все эти скрепки-дебиляшки со своими подсказками, "облегчалки", "визарды" и т. п. Я понимаю, что "Микрософт" тут не при чем: он ориентирован на рынок своих соотечественников, которые не опечалены стигматом индивидуальности и любят, когда с ними нянчатся. Я просто хочу сказать: это не для меня. Соответственно, и не для тех моих читателей, которые испытывают раздражение, когда их держат за идиотов.

Короче говоря, если среди читателей найдутся люди амбициозные, я с гордостью рекомендую им профессиональный редактор HTML - Dreamweaver 4 или MX компании Macromedia. У "Ткача мечты" (так можно перевести "dreamweaver") есть только один недостаток - немалая цена (299 долларов). Однако за эти деньги вы получаете программу, не уступающую FrontPage 2000 по легкости использования, но на порядок превосходящую в гибкости и возможностях не только микрософтоский клиент, но и вообще все, что есть на рынке. Не буду приводить нескончаемый список того, что может делать Dreamweaver. Предлагаю читателю поверить мне на слово: эта программа может делать все!

С другой стороны, сравнение Dreamweaver с FrontPage 2000 не вполне корректно (хотя и часто предпринимается в Интернете). Несмотря на попытку позиционировать себя в качестве профессионального клиента FrontPage таковым не является. Поэтому если единственной вашей задачей является создание домашней странички с собственной фотографией и автобиографией, то вообще суетиться не следует - FrontPage хватит за глаза. Да что там FrontPage, встроенного редактора Netscape более чем достаточно. Глобальное отличие FrontPage от Dreamweaver - в философии. Микрософтовский клиент исходит из предположения, что пользователь абсолютно не способен породить код HTML самостоятельно, поэтому программа должна сделать это за него. Клиент "Макромедии" полагает, что пользователь все может сделать сам, а программа призвана создать максимально комфортные условия для творчества, обставить рабочее место. Поэтому выбор между двумя программами - не что иное, как выбор жизненного стиля.


Создание профессионального логотипа компании

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

Что же делает логотип по-настоящему хорошим? Многие ответят: «Я легко пойму это, когда увижу!», и они не далеки от истины. Хороший логотип привлекает внимание, возбуждает в наблюдателе любопытство и заинтересованность на мгновение, в течение которого изображение и связанная с ним информация о компании запоминаются посетителем, а не отфильтровываются вместе с остальной ненужной информацией, полученной за день. Но, даже если нельзя сказать заранее хорошим ли будет логотип, существуют способы приближения к идеалу… и мы рассмотрим некоторые из них. А также обсудим некоторые аспекты создания логотипов для двух различных измерений — печати и интернета.

Существует три основополагающих типа логотипов, которые могут использоваться в дизайне совместно или поотдельности:

иллюстративные логотипы, которые четко иллюстрируют деятельность компании, графические логотипы; содержат графические элементы, часто абстрактные, которые символизируют деятельность компании, шрифтовые логотипы — текстовые обращения, представляющее компанию (видимо, имеются ввиду слоганы — прим. перев.). Создание логотипа — это всегда многоэтапный процесс, хотя некоторые дизайнеры действуют по-другому. Однако большинство дизайнеров начнет с набросков общего вида или с работы над геометрическими формами будущего логотипа, пока не найдет интересной идеи и уже будет разрабатывать ее до готовой работы. Один из способов начать работу — выбрать форму будущего изображения, представляющего компанию, и начать изменять эту форму, «играть» с ней. Идея в том, чтобы прийти к чему-либо интересному и необычному — будет ли это взгляд на обыденные вещи под необычным углом или интересная комбинация форм. Возможно это будет небольшая загадка для наблюдателя, которая раскроется ему при пристальном взгляде.

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

После того, как вы определились с формой логотипа, стоит подумать о цвете. Опять же, палитра логотипа должна быть достаточно простой. Впоследствии работу можно «раскрасить» отдельно для использования на веб-сайте компании, однако хороший логотип должен выполнять свою задачу и в пределах одного цвета и его градиентов. Цвет должен усиливать и поддерживать впечатление, заложенное в форму логотипа, как пример — оттенки голубого цвета на сторонах 3D-модели коробки должны имитировать реальное распределение цветов и тени. Контраст — еще один важный для создания логотипов аспект. Для привлечения внимания к логотипу можно использовать контраст размеров, цветов, шрифтов, текстур… Логотип должен быть простым и абстрактным, но никогда — сложным и запутанным, и — снова напоминание — все элементы должны быть различимы при малом размере изображения.

Хороший логотип работает даже при самом простом представлении. С распространением интернета в логотипах стало возможно использовать градиенты, трехмерные эффекты, анимацию и прочие «спец. эффекты», однако, если логотип нельзя упростить до плоской монохромной версии для использования на факсах, чеках или печатных документах, то он бесполезен. Всеми силами стараясь создать очень «навороченный» логотип, дизайнер должен помнить о всех возможных путях его распространения как символа компании. После того, как это условие будет выполнено, всегда можно «разукрасить» логотип специально для использования в интернете!

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

Интернет и бумага — две совершенно разные среды. Если вы начинающий, необходимо помнить, что логотип, в первую очередь, должен быть расчитан на печать и лишь потом — на интернет. Не вдаваясь в подробности разрешающей способности при печати и на мониторе, достаточно сказать, что она сильно различается. То, что нормально смотрится на мониторе, при печати может стать размером с почтовую марку и потерять форму и смысл. Логотип, созданный только в расчете на веб-сайт, в зависимости от формата может очень плохо масштабироваться для печати. Таким образом, лучше разрабатывать логотип «с запасом» масштабируемости, впоследствии разрешение всегда можно будет уменьшить.

Выбирая цветовую палитру для работы, вам возможно стоит остановиться на универсальной безопасной 216-цветной палитре, поддерживаемой всеми интернет-браузерами (сейчас эта проблема уже неактуальна — прим. перев.). Это даст гарантию, что цвета, отождествляемые с вашей компанией, могут быть перенесены в интернет без искажений.

С другой стороны, интернет позволяет взять простой одно- или двухцветный логотип и хорошенько над ним поработать и — в отличие от печатной среды — не надо тратить дополнительно тысячи долларов, чтобы добавить цвет, анимацию или 3D. После того, как логотип уже создан в своей самой простой и общей форме, он может быть изменен самыми различными способами специально для использования на веб-сайте компании. Просто убедитесь, что вы не слишком увлечены дополнительными возможностями, пока не будет готов логотип, который будет представлять вашу компанию на простой визитной карточке!


Программы для веб "Графика и дизайн"
FotoAlbum 2.8
Награда: 4.5
 Размер: 1412 КБ Лицензия: бесплатно Рус.интерфейс: да
Системы: Windows XP, Windows NT, Windows 98, Windows ME, Windows 2000
Эта программа поможет Вам с легкостью создавать фотоальбомы. Имеет простой и доступный интерфейс, возможность применения различных фильтров к фотографиям, добавления комментариев и многое другое. Поддержка технологии text-to-speech.

IrfanView 3.92
Награда: 5
 Размер: 856 КБ Лицензия: бесплатно Рус.интерфейс: нет
Системы: Windows XP, Windows NT, Windows 98, Windows 95, Windows ME, Windows 2000
Очень мощная программа просмотра и редактирования изображений. Поддерживает более 30 форматов файлов, плагины, конвертацию изображений, различные режимы просмотра и многое другое.

deja vu Picture Viewer 2.70
Награда: 4
 Размер: 913 КБ Лицензия: бесплатно Рус.интерфейс: да
Системы: Windows XP, Windows NT, Windows 98, Windows 95, Windows ME, Windows 2000, Windows 2003 Server
deja vu Picture Viewer - компактный просмоторщик растровых изображений с удобным пользовательским интерфейсом и джентльменским набором графических функций. Легковесный, и в тоже время достаточно мощный, этот графический просмоторщик хорошо подходит как для навигации по графическим файлам, так и для их преобразования, в том числе файлов с цифровых фотокамер.

ScreenDiscoverer 1.5
Награда: 4
 Размер: 2084 КБ Лицензия: условно-бесплатно Рус.интерфейс: нет
Системы: Windows XP, Windows NT, Windows 98, Windows ME, Windows 2000
Программа для создания скриншотов (снимков экрана).


Сайты доноры - источники траффика

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

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

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

Сначала определимся, что нам нужно:

Главный, качественный сайт (он может быть совсем небольшим). Несколько второстепенных сайтов с элементами оптимизации для поисковых систем. Очень много сил и терпения. Подробно остановимся на пункте 2), т.к. предполагается, что с 1) и 3) все нормально.

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

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

Траффик ожидается по следующим причинам: На 1000 проиндексированных не оптимизированных страниц приходится 30-40 посетителей с поисковых систем. Страницы будут содержать элементы оптимизации, следовательно можно рассчитывать на большее количество посетителей. Не трудно посчитать, что, имея сайт с 10.000 страниц, ежедневно можно ожидать более 300 уникальных посетителей с поисковых систем. Если таких сайтов сделано 10, то суммарный трафик составит более 3000 уникальных посетителей. Предположим, каждый пользователь просматривает 2 страницы, на каждой странице 3 баннера, следовательно, ежедневно откручивается 18.000 баннерных показов. Т.е. за 1 месяц вы сможете накопить более 540.000 баннерных показов, без учета комиссии баннерной сети. Эти показы можно будет потратить на рекламу главного сайта.

В итоге мы получили неплохие цифры. Но какой ценой! Представьте себе, что нужно сделать 100.000 страниц и еще добиться индексации их поисковыми системами. Это ОЧЕНЬ трудно. Задачу можно облегчить при использовании имеющейся БД каких-нибудь текстов и специального программного обеспечения. Сразу говорю: у меня этого нет, так что не просите :).

Вот такой метод, если вы чувствуете в себе силы и думаете,что можете это осуществить, то вперед. Удачи!


САМЫЕ ЛУЧШИЕ ПОЧТОВЫЕ СПОНСОРЫ

1.CASHDELIGHT

ЭТОТ СПОНСОР СУЩЕСТВУЕТ БОЛЕЕ ГОДА, И ЭТО ВРЕМЯ ВСЕГДА ПЛАТИЛ БЕЗ ЗАДЕРЖЕК, КАЖДЫЙ ДЕНЬ ВЫ БУДЕТЕ ПОЛУЧАТЬ 5-15 ПИСЕМ ПО 0.5 И 1 ЦЕНТУ, ОГРОМНАЯ PTC-СЕКЦИЯ - БОЛЕЕ 20 ЦЕНТОВ КАЖДЫЙ ДЕНЬ, ТАК ЖЕ ПРИСУТСТВУЮТ ПОИНТЫ, ИХ ВЫ СМОЖЕТЕ ОБМЕНЯТЬ НА ДЕНЬГИ, ИЗХОДЯ ИЗ ЭТОГО МИНИМАЛКУ В $35 МОЖНО БУДЕТ НАБРАТЬ ЗА 3 МЕСЯЦА

2.MISTYANDSAMSCASH

ЭТОМУ СПОНСОРУ ТАК ЖЕ БОЛЬШЕ ГОДА БОЛЕЕ ГОДА, НАЧАЛ БЫСТРО НАБИРАТЬ ПОЛЬЗОВАТЕЛЕЙ НЕДАВНО БЛАГОДОРЯ БОЛЬШОЙ СТОИМОСТИ ПИСЕМ И НЕ ОЧЕНЬ БОЛЬШОЙ МИНИМАЛКЕ - $10, В СРЕДНЕМ ШЛЕТ 5 ПИСЕМ В ДЕНЬ, В КАЖДОМ ПО 3 ПЛАТНЫХ ССЫЛКЕ

3.HILLBILLY-HANGOUT

С ПЕРВОГО ВЗГЛЯДА ОЧЕНЬ МНОГО ВСЕГО, НО ЕСЛИ РАЗОБРАТЬСЯ ТАК ДАЖЕ ЛУЧШЕ, ВЫБИРАЙТЕ ЧТО НУЖНО И КЛИКАЕТЕ, ОН ОТЛИЧАЕТСЯ НАЛИЧИЕМ БОЛЬШОГО КОЛИЧЕСТВА ПОИНТОВ, ЗА КОТОРЫЕ ВЫ СМОЖЕТЕ КУПИТЬ АПГРЕЙД ИЛИ ЗАКАЗАТЬ РЕКЛАМУ, ИМЕЕO 10 РЕФ. УРОВНЕЙ

4.EMAILORAMA

ПИСЕМ ШЛЕТ МАЛО, 1-2 В ДЕНЬ, НО ВСЕ ОНИ БОЛЕЕ 5 ЦЕНТОВ, ТУТ СТОИТ РЕГИСТРИРОВАТЬСЯ ЕСЛИ У ВАС ЕСТЬ ТЕРПЕНИЕ ДОБРАТЬСЯ ДО $50, ИЛИ СМОЖЕТЕ НАБРАТЬ РЕФЕРАЛОВ, ДЕНЬГИ ПОЛУЧАЛ 5 РАЗ, В СУММЕ БОЛЕЕ $300, ТАК ЖЕ НЕ ЗАБЫВАЙТЕ ПРО PTC И PTS СЕКЦИИ

5.HAULINGCASH

ЭТО САМЫЙ ЛУЧШИЙ СПОНСОР ДЛЯ ЛЮДЕЙ ИЗ SEARCH СТРАН, НУ А ЕСЛИ ВАМ НЕ РАЗРЕШЕННО ИСКАТЬ ТО ДО МИНИМАЛКИ В 5 БАКОВ ВАМ ПРИДЕТСЯ ДОБИРАТЬСЯ ПОДОЛЬШЕ, ЭТОГО СПОНА ОТЛИЧАЕТ ХОРОШАЯ РЕФ. СИСТЕМА, 89% В СУММЕ, И БЫСТРОТА ОПЛАТЫ ЗАКАЗАННЫХ ДЕНЕГ

6.MYTHICALYNN

ЧЕМ ДОЛЬШЕ ЖИВЕТ ЭТОТ СПОНСОР ТЕМ БОЛЬШЕ ОН ШЛЕТ ПИСЕМ, СЕЙЧАС ДО 10 В ДЕНЬ, ЭТИМ ПОЧТОВИКОМ ВЛАДЕЕТ ОЧЕНЬ ХОРАШАЯ ВМ LYNN КОТОРАЯ ТАК ЖЕ ВЛАДЕЕТ MYTHICALMAIL, ДЕНЬГИ ОТ ЭТОГО СПОНСОРА ПОЛУЧИЛ ДАЖЕ НЕ ЗАКАЗЫВАЯ ВЫПЛАТУ

7.MASTERPAIDEMAIL

ПОСЛЕДНИЙ СПОНСОР THEA, ОНА ТАК ЖЕ ВЛАДЕЕТ PAIDEXPLOSION, CRAZYFORCASH, BESTPAIDEMAIL, WISHFORMONEY, EARNCASH4EMAIL & HOTSHIVERMAIL, ВСЕ ЭТИ СПОНСОРЫ ПРОЦВЕТАЮТ И ИМЕЮТ ОГРОМНОЕ КОЛИЧЕСТВО МЕМБЕРОВ, ТАК ЧТО ПРИСОЕДИНЯЙТЕСЬ ПОКА ОН ЕЩЕ НОВЫЙ


Каскадные таблицы стилей - CSS
РПТХ ТБООЕЗП ЮБКОЙЮЕУФЧБ С ВЩЧБМП ТПЦБМ УФТБОЙЮЛЙ Ч 200-250 ЛВ (уФТБЫОП ЧУРПНОЙФШ :0)) Й НПЙ ЪОБЛПНЩЕ РТЙИПДС ОБ ФБЛПЕ "ФЧПТЮЕУФЧП ОБТПДПЧ УЕЧЕТБ" ДПМЗП НБФЕТЙМЙУШ: РПЮЕНХ ЧУЕ ФБЛ ФХЗП ЗТХЪЙФУС, Б ОЕМШЪС МЙ ЛБЛ-ФП ХНЕОШЫЙФШ ФЕ НОПЗПЬФБЦОЩЕ ЛПОУФТХЛГЙЙ, ЛБЛЙНЙ ВЩМЙ НПЙ РЕТЧЩЕ УБКФЩ. лБЛ ПЛБЪБМПУШ, ОЕЛПФПТПЕ ЧТЕНС УРХУФС, ЛЕН-ФП ХНОЩН ВЩМБ РТЙДХНБОБ УРЕГЙБМШОБС ЖЙЮБ, ОБЪЧБООБС "лБУЛБДОЩЕ ФБВМЙГЩ УФЙМЕК", Ч ОБТПДЕ CSS, ЙМЙ РТПУФП "УФЙМЙ".
рП УХФЙ УЧПЕК УФЙМЙ - ЬФП РТЙУЧПЕОЙЕ ЗТХРРЕ ЬМЕНЕОФПЧ, РТПНБТЛЙТПЧБООЩИ РП ФЙРХ ЙМЙ РТЙУЧПЕООПНХ ПВПЪОБЮЕОЙА ("ЙНЕОЙ"), ЛБЛЙИ МЙВП УМПЦОЩИ РБТБНЕФТПЧ, ПРЙУБОЙЕ ЛПФПТЩИ ДМС ЛБЦДПЗП ЙЪ ЬФЙИ ЬМЕНЕОФПЧ ХФСЦЕМСЕФ УФТБОЙЮЛХ ДПОЕМШЪС... дБ Й НХФПТОП ПОП..
ч ПВЭЕН, РТПРЙУБЧ ЛБЛПНХ-МЙВП ЬМЕНЕОФХ уфймш, НЩ НПЦЕН ЧРПУМЕДУФЧЙЙ, ЙНЕС ИПФШ УФП ФБЛЙИ ЬМЕНЕОФПЧ, РПНЕОСФШ ЧЙД ЛБЦДПЗП Ч ФЕЮЕОЙЕ ВХЛЧБМШОП РБТЩ НЙОХФ, ЙЪНЕОЙЧ ЙИ уфймш Ч ПДОПН ЕДЙОУФЧЕООПН ЖБКМЕ.

 рТЙНЕТОПЕ УПДЕТЦБОЙЕ ФБЛПЗП ЧЩОПУОПЗП ЖБКМБ УФЙМС:

A:link {COLOR: #666666; TEXT-DECORATION: none}
A:visited {COLOR: #666666; TEXT-DECORATION: none}
A:active {COLOR: #666666; TEXT-DECORATION: none}
A:hover {COLOR: #666666; TEXT-DECORATION: underline}
BODY {margin="5"; SCROLLBAR-FACE-COLOR: #FFFFFF; FONT-WEIGHT: normal; BACKGROUND: #FBFBFB; SCROLLBAR-HIGHLIGHT-COLOR: #FFFFFF; SCROLLBAR-SHADOW-COLOR: #FFFFFF; COLOR: #666666; SCROLLBAR-3DLIGHT-COLOR: #AAAAAA; SCROLLBAR-ARROW-COLOR: #999999; SCROLLBAR-TRACK-COLOR: #EEEEEE; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; SCROLLBAR-DARKSHADOW-COLOR: #555555;}
TD {FONT-WEIGHT: normal; FONT-SIZE: 11pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}
DIV {FONT-WEIGHT: normal; FONT-SIZE: 11pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}
P {FONT-WEIGHT: normal; FONT-SIZE: 11pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}
.small {FONT-SIZE: 10pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}
.large {FONT-WEIGHT: bold; FONT-SIZE: 11pt; FONT-FAMILY: Arial, Helvetica, sans-serif}
.navigation {BACKGROUND: #FFFFFF}
.navigationcell {BACKGROUND: #FFFFFF}
.micro {FONT-SIZE: 7pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}
.z1 {FONT-SIZE: 8pt; COLOR=#999999; FONT-WEIGHT: bold; text-align: center}
.t3 {FONT-SIZE: 8pt; }
.link {FONT-SIZE: 12; FONT-STYLE: italic}
.txt {text-indent: 8pt; text-align: justify}
.com {text-indent: 10pt; FONT-STYLE: italic; text-align: justify; FONT-SIZE: 10}
.t: link {COLOR: #777777;FONT-WEIGHT: bold;}
.t: visited {COLOR: #777777; FONT-WEIGHT: bold; TEXT-DECORATION: none;}
.t: active {COLOR: gray; FONT-WEIGHT: bold; TEXT-DECORATION: none;}
.t: hover {COLOR: black; FONT-WEIGHT: bold; TEXT-DECORATION: none;
FILTER: dropShadow(Color=white,OffX=1,OffY=1,Positive=2 ); HEIGHT: 10

чПФ ФБЛБС ЖЙЮБ РТЙНЕТОП ПВЕУРЕЮЙЧБЕФ УБКФХ ФПФ ЧЙД, Ч ЛПЕН ЧЩ ЕЗП ОБВМАДБЕФЕ :0)

тБЪМПЦЙН РП ЛЙТРЙЮЙЛБН... й ОБЮОЕН УП УУЩМПЛ:

A:link {COLOR: #666666; TEXT-DECORATION: none}
A:visited {COLOR: #666666; TEXT-DECORATION: none}
A:active {COLOR: #666666; TEXT-DECORATION: none}
A:hover {COLOR: #666666; TEXT-DECORATION: underline}

б: ЪДЕУШ ПЪОБЮБЕФ ЛМБУУ ЬМЕНЕОФПЧ, Ч HTML ОБЪЩЧБЕНЩИ "УУЩМЛЙ", ФП ЕУФШ ФЕЗЙ ЧЙДБ "<a href..."
link - ПВПЪОБЮЕОЙЕ МЙОЛБ Ч РПЛПЕ, ФБЛ УЛБЪБФШ, ЙУИПДОЩК ЧЙД, Ч ЛПФПТПН ПО РТЕДУФБЈФ, ЛПЗДБ НЩ ЧЙДЙН РБЗХ ФПМШЛП-ФПМШЛП РПУМЕ ЕЕ ЪБЗТХЪЛЙ.
{} Б ЧПФ РТПНЕЦ ФБЛЙИ УЛПВПЛ Ч CSS РТПРЙУЩЧБЕФУС РТЙУЧБЙЧБЕНЩК ЬМЕНЕОФХ УФЙМШ, ФП ЕУФШ РТБНЕФТЩ, ЛБЛЙЕ ВХДХФ БЧФПНБФЙЮЕУЛЙ РТЙУЧПЕОЩ ЧЩВТБООПНХ ЬМЕНЕОФХ.

фБЛ ЦЕ Х ОБУ ФХФ ЙНЕЕФУС ГЧЕФ МЙОЛБ - color:#666666 - ФП ЕУФШ ФЕНОП-УЕТЩК.
й ЕЭЕ ПДЙО НПНЕОФ: ЕУМЙ Ч ЛПДЕ УБНПК УФТБОЙЮЛЙ РЙЫЕФУС font color="", Ч ФП ЧТЕНС ЛБЛ Ч CSS - "color: ЙНС ГЧЕФБ;", ФПЮЛБ У ЪБРСФПК УФБЧЙФУС РПУМЕ ЛБЦДПЗП УЧПКУФЧБ Ч УРЙУЛЕ, ЕУМЙ РПУМЕ ОЕЗП ЙДЕФ ДТХЗПЕ УЧПКУФЧП. рПУМЕ РПУМЕДОЕЗП УФБЧЙФШ ОЕ ПВСЪБФЕМШОП, ОП Ч РТЙОГЙРЕ НПЦОП.
й ПЖПТНМЕОЙЕ ФЕЛУФБ - TEXT-DECORATION. рЙУБФШ ЬФП ЪБЗМБЧОЩНЙ, У ВПМШЫПК ВХЛЧЩ ЙМЙ УФТПЮОЩНЙ - УПЧЕТЫЕООП ТБЧОПЪОБЮОП. ъДЕУШ ОБРЙУБОП ЪБЗМБЧОЩНЙ ЙУЛМАЮЙФЕМШОП ДМС ЧЩТБЪЙФЕМШОПУФЙ Й ЪБНЕФОПУФЙ :0)
йФБЛ, Ч РБТБНЕФТЕ УЈН Х ОБУ ЪОБЮЙФУС "none" - ЬФП ПЪОБЮБЕФ, ЮФП ОБН ВТПДЙМЛБ РПЛБЦЕФ МЙОЛ Ч ЧЙДЕ РТПУФПЗП ФЕЛУФБ - ОЕ УЙОЕЗП, ЛБЛ РП ХНПМЮБОЙА, Й ВЕЪ ДХТБГЛПЗП ЬФПЗП РПДЮЕТЛЙЧБОЙС :0)

пРТЕДЕМЕОЙЕ "visited" - ПЖПТНЙФШ УУЩМЛХ ФПЮОП ФБЛ ЦЕ ЛБЛ Й РПУЕЭЕООЩЕ ХЦЕ УУЩМЛЙ. еУМЙ ЧЩ ЪБНЕЮБМЙ ТБОШЫЕ - ФП ПОЙ, РПУЕЭЕООЩЕ, РП ХНПМЮБОЙА ВТПДЙМЛБНЙ ПВПЪОБЮБАггБ ЛБЛ РПФЕНОЕЧЫЙЕ. б Х ОБУ ВХДЕФ ТБЧОППВТБЪОП. йВП - ОЕЖЙЗ...

йФБЛ: РЕТЧЩЕ ДЧЕ УФТПЛЙ ПРТЕДЕМЙМЙ ЧЙД, Ч ЛПФПТПН МЙОЛЙ ОБИПДСФУС РП ЙЪОБЮБМШОПНХ УПУФПСОЙА.
оП ЛБЛ ЧЩДЕМЙФШ ЙИ, ПВПЪОБЮЙФШ, ЮФП ЬФП ОЕ РТПУФП ФЕЛУФ, Б ЧУЕ ЦЕ УУЩМЛЙ?
дМС УЕЗП Х НЕОС РТПРЙУБОЩ УМЕДХАЭЙЕ ДЧЕ УФТПЮЛЙ:

A:active {COLOR: #666666; TEXT-DECORATION: none}

"БЛФЙЧ" - ЬФП ЕУФШ МЙОЛ, ЧЩДЕМЕООЩК НЩЫЛПК, ОП У ХВТБООЩН У ОЕЗП ЛХТУПТПН. еУМЙ РТЙУНБФТЙЧБМУС ЙОПЗДБ, ЧУМЕДУФЧЙЕ ЛТЙЧЩИ ТХЛ, НПЗ ЧЙДЕФШ ЬФБЛЙЕ РПЧЙУЫЙЕ ЧПЛТХЗ МЙОЛПЧ ЙМЙ ЛБТФЙОПЛ "ТБНПЮЛЙ" ЧЩДЕМЕОЙС - ЧПФ ЬФП ПОП Й ЕУФШ :0)
рП ЪДЕЫОЕНХ ПЖПТНМЕОЙА ПОП, ПРСФШ ЦЕ, ОЙЮЕН ОЕ ПФМЙЮБЕФУС ПФ РТЕДЩДХЭЙИ РБТБНЕФТПЧ, РПЬФПНХ Ч УБНПН ФЕЛУФЕ С ЕЗП ЧЩДЕМСА, ЛБЛ РТБЧЙМП, ЦЙТОЩН (<b>ЧПФ ФБЛ</b>).

Б ЧПФ ФТЕФШЕ...

A:hover {COLOR: #666666; TEXT-DECORATION: underline}
hover - ЕУМЙ НОЕ ОЕ ЙЪНЕОСЕФ УЛМЕТПЪ, "ИПЧЕТ" РЕТЕЧПДЙФУС ЛБЛ "РБТЕОЙЕ" (ОЕ НПЪЗПЧ, Б Ч ЧПЪДХИЕ!) :0)

ьФПФ РБТБНЕФТ ХЛБЪЩЧБЕФ ВТПДЙМЛЕ, ЛБЛ ПЖПТНЙФШ ЬФХ УУЩМЛХ РТЙ ЪБЧЙУБОЙЙ ОБ ОЕК ЛХТУПТБ. ъДЕУШ С ПУФБЧЙМ ЕК РЕТЧПОБЮБМШОЩК ГЧЕФ, Б ЧЩДЕМСФШ ТЕЫЙМ РПДЮЕТЛЙЧБОЙЕН. уМЕДХЕФ ФБЛЦЕ ПВТБФЙФШ ЧОЙНБОЙЕ ОБ ФП, ЮФП ФХФ ХЦЕ ЧНЕУФП "none" УФПЙФ "underline" - ЮФП, УПВУОП Й ЕУФШ ЬФП УБНПЕ "РПДЮЕТЛЙЧБОЙЕ" РТЙ ОБЧЕДЕОЙЙ ЛХТУПТБ.

ЬФЙНЙ ЮЕФЩТШНС УФТПЛБНЙ НЩ ТБЪПН ОБЪОБЮЙМЙ чуен УУЩМЛБН ОБ УФТБОЙЮЛЕ, Ч ЛПФПТХА ВХДЕФ ЧЛМАЮЕО ЬФПФ УФЙМШ, ПУПВЩК ЧОЕЫОЙК ЧЙД. ьФБ ОБУФТПКЛБ ЛБУБЕФУС чуеи УУЩМПЛ ЛБЛ ФБЛПЧЩИ.

Б РТЕДУФБЧШФЕ ФЕРЕТШ, ЮФП ВЩМП ВЩ, ЕУМЙ ВЩ ОБ ЛБЦДХА УУЩМЛХ РЙУБФШ ЧПФ ФБЛПЕ? Б УУЩМПЛ - 30, 40? ЬЛПОПНЙС Ч 40 ТБЪ! :0)_)

уНПФТЙН ДБМШЫЕ:
BODY
 {
margin="5";
SCROLLBAR-FACE-COLOR: #FFFFFF;
FONT-WEIGHT: normal;
BACKGROUND: #FBFBFB;
SCROLLBAR-HIGHLIGHT-COLOR: #FFFFFF;
SCROLLBAR-SHADOW-COLOR: #FFFFFF;
COLOR: #666666;
SCROLLBAR-3DLIGHT-COLOR: #AAAAAA;
SCROLLBAR-ARROW-COLOR: #999999;
SCROLLBAR-TRACK-COLOR: #EEEEEE;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; SCROLLBAR-DARKSHADOW-COLOR: #555555;
}

BODY - ЬФП "ФХЫЛБ УФТБОЙЮЛЙ".
ч ОЕК НПЦОП РПЙЪДЕЧБггБ ОБД УЛТПММВБТПН (ДМС ФЕИ, ЛФП Ч ФБОЛЕ: ФБЛБС ЖЙЮБ УРТБЧБ РП ЧЕТФЙЛБМЙ, ЪБ ЛПФПТПХА НПЦОП ФСЗБФШ ЧЧЕТИ-ЧОЙЪ, РТПНБФЩЧБС ОЕ ХНЕЭБАЭЕЕУС ОБ ЬЛТБОЕ :0))

ч ДБООПН ЧБТЙБОФЕ Х НЕОС ОБРЙУБОП:
margin="5"; - ЬФП ПФУФХР Ч 5 РЙИЕМЕК ПФ ЛТБС ВТПДЙМЛЙ (РП ХНПМЮБОЙА ЗПТБЪДП ВПМШЫЕ). еУМЙ ПФУФХР ЧППВЭЕ ОЕ ОХЦЕО - УФБЧЙН ЪОБЮЕОЙЕ "ОПМШ":0)

SCROLLBAR-FACE-COLOR: #FFFFFF;
НПТДБ МЙГБ УЛТПММВБТБ. фП ЕУФШ ТБУЛТБЫЙЧБЕФ УБНХА ВПМШЫХА РПЧЕТИОПУФШ ЪБДБООЩН ГЧЕФПН. х НЕОС ЬФП - Ч ФПО УФТБОЙГЕ

SCROLLBAR-HIGHLIGHT-COLOR: #FFFFFF;
ЬФП ВМЙЛ ОБ РПМЪХОЛЕ Й ЛХВЙЛБИ УП УФТЕМЛБНЙ

SCROLLBAR-SHADOW-COLOR: #FFFFFF;
ЬФП "ФЕОШ" - РТПДПМЦЕОЙЕ "ВМЙЛБ", (ФП ЦЕ УБНПЕ, ФПМШЛП ОЙЦОСС ЗТБОШ Й РТБЧБС)

COLOR: #666666;
ЬФП ГЧЕФ ЧППВЭЕ...

SCROLLBAR-3DLIGHT-COLOR: #AAAAAA;
ЬФП ФПОАУЕОШЛБС ЛБЕНПЮЛБ ЧПЛТХЗ ЛБЦДПК ДЕФБМШЛЙ

SCROLLBAR-ARROW-COLOR: #999999;
ГЧЕФ ФТЕХЗПМШОЩИ УФТЕМПЛ ЧЧЕТИХ Й ЧОЙЪХ МЙОЕКЛЙ

SCROLLBAR-DARKSHADOW-COLOR: #555555;}
ЗМХВПЛБС ЮЕТОБС ФЕОШ-ЛПОФХТ

SCROLLBAR-TRACK-COLOR: #EEEEEE;
ГЧЕФ ДПТПЦЛЙ..

 чПФ УПВУФЧЕООП Й ЧУЕ. фБЛЙН ЧПФ ОЕИЙФТЩН ЙЪЧТБФПН Й ЛТБУСФ Ч ТБЪОЩЕ ГЧЕФБ УЛТПММЩ УФТБОЙЮЕЛ :0) рТБЧДБ, ТБВПФБЕФ ЬФП ФПМШЛП Ч ЬЛУРМПТЕТЕ.

уНПФТЙН ДБМЕЕ:
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
ЬФП ПВПЪОБЮБЕФ РПУМЕДПЧБФЕМШОПУФШ ЫТЙЖФПЧ, ЛПЙНЙ ПФПВТБЦБЕФУС ЛПОФЕОФ УБКФБ. еУМЙ ОЕФХ РЕТЧПЗП, ФП ВТПДЙМЛБ ЙУРПМШЪХЕФ ЧФПТПК. еУМЙ ОЕФ ЧФПТПЗП - ФП ФТЕФЙК. оХ Б ЕУМЙ Й ЮЕФЧЕТФПЗП ОЕФХ, ФП ЬФП МЙОХЛУПЙД ВЕЪ ЛЙТЙММЙЮЕУЛЙИ ЫТЙЖФПЧ РТЙРЕТУС, ОХ ЕЗП МЕУПН.. ;0)

ФЕРЕТШ СЮЕКЛЙ ФБВМЙГ:
TD {FONT-WEIGHT: normal; FONT-SIZE: 11pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}
ЮФП ФБЛПЕ фд, С ОБДЕАУШ, ЧЩ ХЦЕ ЪБРПНОЙМЙ, Б ЕУМЙ ОЕФ - РТЙДЕФУС РЕТЕЮЙФБФШ ЧУЕ РТП ФБВМЙГЩ У УБНПЗП ОБЮБМБ.
йФБЛ... ЪДЕУШ РТПРЙУБОП - FONT-WEIGHT: normal; - ЫТЙЖФ ОПТНБМШОПК ФПМЭЙОЩ.
FONT-SIZE: 11pt; - ТБЪНЕТ ЫТЙЖФБ. пВТБФЙФШ ЧОЙНБОЙЕ ОБ "pt" - ЬФП ОЕ Ч РЙИЕМБИ! ЬФП Ч рхолфби. иПФС ПУПВП ЛТЙФЙЮОЩИ ТБЪОЙГ ФХФ ОЕФ, РТПУФП ДТХЗЙЕ ЕДЙОЙГЩ ЙЪНЕТЕОЙС..
фХФ НПЦОП УФБЧЙФШ Й РТПУФП ГЙЖТХ ВЕЪ РТЙРЙУЛЙ Ч ЛБЛЙИ ПОП ЕДЙОЙГБИ. фПЗДБ ГЙЖТБ УТБВПФБЕФ ЛБЛ ТБЪНЕТ ПФОПУЙФЕМШОЩК Й РПЪЧПМЙФ АЪЧЕТА ОЕВТЕЦОЩН ДЧЙЦЕОЙЕН НЩЫЛЙ РП НБУЫФБВЙТХЕНПУФЙ ВТПДЙМЛЙ ЙУРПТФЙФШ ОБЫ ЧЕМЙЛЙК ДЙЪЙЗО ОБЖЙЗ. б ЬФП ОЕ ЕУФШ ЗХФ... рПУЕНХ ОЙ РТПГЕОФПЧ (ДБ, НПЦОП Й РТПГЕОФБНЙ!), ОЙ УЧПВПДОЩИ ТБЪТСДПЧ ПФ -7 ДП РТПУФП 7 УФБЧЙФШ ОЕ ТЕЛПНЕОДХА. йМЙ, ЕУМЙ ФЩ ХЦ ОБУФПМШЛП ЛТХФПК ЙЪЧТБЭЕОЕГ, УФБЧЙФШ ОБДП ЧЕЪДЕ, Б РПФПН ДПМЗП Й НХФПТОП ДЧЙЗБФШ НБУЫФБВОПУФШ, ОБУМБЦДБСУШ, ЛБЛ ФЧПА УФТБОЙЮЛХ НПТЭЙФ Й РМАЭЙФ РП ЧУЕН БВЪБГБН %0)

оХ Й, ОБЛПОЕГ, ЬФП:
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}
ЬФП Х ОБУ ПЪОБЮБЕФ ФПЦЕ, ЮФП Ч УБНПК РБЗЕ "йНС ЫТЙЖФБ".
фПМШЛП ФХФ РЕТЕЮЙУМЕОП, ОБ ЧУСЛЙК РПЦБТОЩК УМХЮБК, БЦ ЮЕФЩТЕ ЫТЙЖФБ, ВПМЕЕ ЙМЙ НЕОЕЕ УРПУПВОЩИ ЪБНЕОСФШУС ОЕ УЙМШОП РПТФС ДЙЪЙЗО. ъБЮЕН ЬФП ОБДП? оБ УМХЮБК, ЕУМЙ ОБ ЧБЫ ИПНСЛ* ЪБВТЕДЕФ ЛБЛПЕ-ОЙВХДШ ЙОФЕММЕЛФХБМШОПЕ ХВПЦЕУФЧП, ХНХДТЙЧЫЕЕУС ХЗТПВЙФШ Х УЕВС ОБ ЛПНРЕ чЕТДБОХ Й бТЙБМ. иПФС ЬФЙ ДЧБ ЫТЙЖФБ ЧПЧУА ПВЩЮОП ЙУРПМШЪХАФУС чЙОДПК Й чЈТДПН ДБ Й НОПЗЙНЙ ДТХЗЙНЙ РТПЗБНЙ. пОЙ УБНЩЕ ХДПВОЩЕ Й МЕЗЛПЮЙФБЕНЩЕ, РПУЕНХ - РТБЛФЙЮЕУЛЙ ОЕЪБНЕОЙНЩЕ. фБЛ ЧПФ, ЕУМЙ ЧУЕ ЦЕ Х ЛБЛПЗП-ОЙВХДШ НХДБЛБ ОЕ ПЛБЦЕФУС ЬФЙИ ЫТЙЖФПЧ, ФП РБЗБ РПЛБЦЕФ ЕНХ ФП, ЮФП РТПРЙУБОП ДБМШЫЕ - иЕМШЧЕФЙЛХ ЙМЙ уБО-уЕТЙЖ :0) еУМЙ Й ЬФПЗП Х ОЕЗП ОЕФ, ФП ВТПДЙМЛБ РПЛБЦЕФ ЕНХ, ЮФП ФБН Х ОЕЗП УФПЙФ Й РХУФШ ПО ЬФЙН РПРЕТИОЕггБ.. :0)

 ьФЙН БВЪБГЕН НЩ РТПРЙУБМЙ, ЮФП чеуш ФЕЛУФ ОБ РБЗЕ ПФТБЦБЕггБ 11-Н ТБЪНЕТПН ЫТЙЖФПН, ПДОЙН ЙЪ ХЛБЪБООЩИ ФБН, ЧЩЫЕ.

еДЕН ДБМШЫЕ:
DIV {FONT-WEIGHT: normal; FONT-SIZE: 11pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}
ЬФП ПВТЕЪБОЩК ФЕЗ УМПС, ЛПФПТЩК НПЦОП ЙУРПМШЪПЧБФШ ДМС ПВПЪОБЮЕОЙС ЧЩДЕМЕОЙС ПРТЕДЕМЕООПЗП ХЮБУФЛБ ФБВМЙГЩ ЙМЙ ФЕЛУФБ. оХ - ЧПФ, РПМПЦЙН, ОЕ ОБДП НОЕ ЧЕУШ ФЕЛУФ ОБ УФТБОЙЮЛЕ ПДОППВТБЪОЩН - ИПЮХ ЛХУПЛ ЛБЛПЗП-ОЙФШ ЙЪЧТБФОПЗП ГЧЕФБ Й ЧЙДБ... ЪБЛМАЮБЕН ЕЗП Ч ФЕЗ DIV Й ОБЪОБЮБЕН ПРТЕДЕМЕООЩЕ РБТБНЕФТЩ. рПМХЮБЕН ЧЩДЕМЕОЙЕ БВЪБГБ :0)
оБ ДБООЩК НПНЕОФ ПО УПЧЕТЫЕООП ЙДЕОФЙЮЕО ПУОПЧОПНХ ФЕЛУФХ.
б ЧПФ ФБЛ РЙЫЕФУС РБТБЗТБЖ. пО Й ПВПЪОБЮБЕФУС РТПУФП ВХЛЧПК P.

P {FONT-WEIGHT: normal; FONT-SIZE: 11pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}
 ч ОЕН Х ОБУ ПРСФШ ЦЕ УПЧЕТЫЕООП ЙДЕОФЙЮОЩЕ РБТБНЕФТЩ. оП ЕУМЙ ЪБДБФШ ЙОЩЕ, ФП ЧУЕ РБТБЗТБЖЩ УФБОХФ ЧЩЗМСДЕФШ ОЕ ФБЛ ЛБЛ ФЕЛУФ ПУОПЧОПК УФТБОЙЮЛЙ. уМЕДХЕФ РПНОЙФШ, ЮФП ЧУЕ РБТБЗТБЖЩ, ЛБЛ РТБЧЙМП, ЧЩДЕМЕОЩ ОЕЛПФПТЩН ПФУФХРПН УЧЕТИХ Й УОЙЪХ ПФ ПУФБМШОПЗП ФЕЛУФБ. ьФП МЕЗЛП РПРТБЧЙНП, ОП ПВ ЬФПН РПЪЦЕ.

йФБЛ, НЩ ЪБДБМЙ РБТБНЕФТЩ ПФПВТБЦЕОЙС ЧУЕН ПУОПЧОЩН ЬМЕНЕОФБН:

фЕЛУФХ,
уУЩМЛБН,
фБВМЙГБН,
вМПЛБН Й
рБТБЗТБЖБН .

оП ЮФП ДЕМБФШ, ЕУМЙ ОБДП ЛБЛПК-ФП НБИПОШЛЙК БВЪБГ УДЕМБФШ ОЕ ФБЛЙН, ЛБЛ ПУФБМШОЩЕ БВЪБГЩ? юФП ДЕМБФШ ЕУМЙ ПДЙО ЙМЙ ДЧБ ЙМЙ ВПМШЫЕ ЬМЕНЕОФПЧ ДПМЦОП ЙНЕФШ ПФДЕМШОЩК ПФ ВПМШЫЙОУФЧБ ЧЙД? чПЪЙФШУС У РБТБЗТБЖПН ФХФ ОЕХНЕУФОП :0)

фХФ НПЦОП ЧЩЛТХФЙФШУС ФБЛЙН ПВТБЪПН:
ОБЮБМП ОПЧПЗП УФЙМС ПВПЪОБЮБЕН ФПЮЛПК: .
Б ЪБ ОЕК УТБЪХ ЧРЙУЩЧБЕН ЙНС ОБЫЕЗП ПУПВПЗП УФЙМС. чМПЦЕООПЗП, ФБЛ УЛБЪБФШ, ЛБУЛБДБ:

.small {FONT-SIZE: 10pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}

 ЬФП ПВПЪОБЮБЕФ, ЮФП ФЕЗЙ, Ч ЛПФПТЩЕ ЧЛМАЮЕОП "class="small""
, ВХДХФ РПЛБЪЩЧБФШ ОБН УЧПЕ ФЕЛУФПЧПЕ УПДЕТЦЙНПЕ ЙНЕООП Ч ФПН ЧЙДЕ, ЛПФПТЩК РТПРЙУБО Ч ЬФПН БВЪБГЕ. фП ЕУФШ, ОБ 1pt НЕОШЫЕЗП Ч ДБООПН ЛПОФЕЛУФЕ ТБЪНЕТБ :0)

ФЙРЙЮОЩК РТЙНЕТ:

<b><a href="ВМБ-ВМБ-ВМБ" class=small> ФЕЛУФ </a></b>
ЙМЙ <p class=small>ФЕЛУФ</p>
ЙМЙ <div class=small>ФЕЛУФ</div>
ЙМЙ
<td class=small...
<table class=small..
ОХ Й Ф.Р.

фПЮОП ФБЛ ЦЕ ЧОХФТШ ФЕЗПЧ НПЦОП ПДОПЧТЕНЕООП Й РП ОЕУЛПМШЛХ ЪБРЙИЙЧБФШ ФЕЗЙ ТБЧОЕОЙС... ФЙРБ align=center (left, right, justify)

чПФ ЕЭЕ ПДЙО ЛМБУУ:

.large {FONT-WEIGHT: bold; FONT-SIZE: 11pt; FONT-FAMILY: Arial, Helvetica, sans-serif}

Й ЕЭЕ:
.navigation {BACKGROUND: #FFFFFF}
Й ЕЭЕ:
.navigationcell {BACKGROUND: #FFFFFF}
Й ЕЭЕ:
.micro {FONT-SIZE: 7pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif}

 Б ЪБЮЕН, УПВУОБ, ОБН ЛБЦДЩК ТБЪ РЙУБФШ ФЕЗ ЧЩТБЧОЙЧБОЙС Ч УБНПК РБЗЕ РП УФП ТБЪ? нЩ ЦЕ НПЦЕН ЧРЕОДАТЙФШ ЕЗП РТСНП Ч УФЙМШ!

чПФ ФБЛЙН ПВТБЪПН РТЙНЕТОП:
.z1 {FONT-SIZE: 8pt; COLOR=#999999; FONT-WEIGHT: bold; text-align: center}
 ФПМШЛП ФХФ ПО РТПРЙУЩЧБЕФУС ОЕ РТПУФП ЛБЛ align=, Б ЛБЛ ЙНЕООП ЛБЛ text-align:

бифхоз!!! - ПВТБФЙФШ ЧОЙНБОЙЕ, ЮФП ОЕ ЮЕТЕЪ "ТБЧОП", Б ЙНЕООП ЮЕТЕЪ ДЧПЕФПЮЙЕ!!!

.t3 {FONT-SIZE: 8pt; }
Б Ч ЬФПН УМХЮБЕ НОЕ ОХЦОП ВЩМП РТПУФП ЙЪНЕОЙФШ МЙЫШ ТБЪНЕТ Й ПУФБМШОПЕ С ОЕ РТПРЙУБМ..
ЮФП Х ОБУ РПМХЮЙМПУШ Ч ЬФПН УМХЮБЕ?

тБУУНПФТЙН РТЙНЕТ ЧЪБЙНПДЕКУФЧЙС Й ЧЪБЙНПЧМЙСОЙС УФЙМЕК:
(ЕЭЕ ЬФП ОБЪЩЧБЕггБ "ОБУМЕДПЧБОЙЕН"):

ЙНЕЕН:
<div class="micro">
ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ
    <p class="large">ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ...:0)</p>
ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ, ФЕЛУФ,
</div>

рТЙОГЙР СУЕО?
(дМС ФЕИ, ЛФП Ч ФБОЛЕ: - ДЕКУФЧЙЕ УФЙМС ТБУРТПУФТБОСЕггБ ОБ ЧУЕ, ЮФП ЧОХФТЙ ПВПЪОБЮЕООПЗП ПВЯЕЛФБ, еумй ЧОХФТЕООЙЕ, ЧМПЦЕООЩЕ ФЕЗЙ, ОЕ УОБВЦЕОЩ упвуфчеоощнй УФЙМСНЙ, РТПФЙЧПТЕЮБЭЙНЙ ЙМЙ ДПРПМОСАЭЙНЙ УФЙМШ ПВЯЕЛФБ. уФЙМШ РЕТЕУФБЕФ ДЕКУФЧПЧБФШ УТБЪХ РП ЪБЛТЩФЙЙ ФЕЗБ, ЕЗП УПДЕТЦБЭЕЗП, Й Ч ДЕКУФЧЙЕ ЧУФХРБЕФ УФЙМШ ПВЯЕЛФБ ВПМЕЕ "ЧЩУПЛПЗП ХТПЧОС" - ФПЗП, ЮФП ЧПЛТХЗ ЧМПЦЕООПЗП, ЙМЙ УМЕДХАЭЕЗП)
юЕН-ФП ЬФП ЧУЕ РПИПЦЕ ОБ НБФТЕЫЛХ... ьФП ЧБН ПФЧМЕЮЕООЩК ПВТБЪ - ДМС МХЮЫЕЗП РПОЙНБОЙС РТПВМЕНЩ :0)

.link {FONT-SIZE: 12; FONT-STYLE: italic}
Б ЧПФ ФХФ Х НЕОС УФПЙФ "ЙФБМЙЛ" - ЬФП ПЪОБЮБЕФ, ЮФП ФЕЛУФ ВХДЕФ РПДЧЕТЦЕО НПДЙЖЙЛБГЙЙ Ч УФЙМЕ <i></i> - ФП ЕУФШ УФБОЕФ ОБЛМПООЩН :0)

.txt {text-indent: 8pt; text-align: justify}

.com {text-indent: 10pt; FONT-STYLE: italic; text-align: justify; FONT-SIZE: 10}

Б ЧПФ ЬФЙН С ТЕЫЙМ ЧЩДЕМЙФШ МЙОЛЙ ДТХЗПЗП ФЙРБ - ФЕ, ЛПФПТЩЕ Ч НЕОАЫЛБИ ФЙРБ ЛБМЕОДБТЕК РП ДБФБН:
.t: link {COLOR: #777777;FONT-WEIGHT: bold;}
.t: visited {COLOR: #777777; FONT-WEIGHT: bold; TEXT-DECORATION: none;}
.t: active {COLOR: gray; FONT-WEIGHT: bold; TEXT-DECORATION: none;}

 ОП Ч ОЙИ ХЦЕ ВХДЕФ НЕОСФШУС Й ГЧЕФ Й ФПМЭЙОБ ВХЛЧ :0))

.t: hover {COLOR: black; FONT-WEIGHT: bold; TEXT-DECORATION: none;

 Б ЧПФ ЬФБ РТЙРЙУЛБ ЕУФШ ЖЙЮБ ЮЙУФП РМПТЕТОБС - ФП ЕУФШ Ч ДТХЗЙИ ВТПХЪЕТБИ ДБЦЕ ОЕ ПФПВТБЪЙФУС.

FILTER: dropShadow(Color=white,OffX=1,OffY=1,Positive=2 ); HEIGHT: 10}

 ьФП ОБЪЩЧБЕФУС "ЖЙМШФТ", ЧУФТПЕООБС Ч ВТПДЙМЛХ ЖЙЮБ, ПФТБЦБАЭБС ФБЛЙЕ УРЕГЬЖЖЕЛФЩ, ЛБЛ "ФЕОШ", "УЧЕЮЕОЙЕ", "РЕТЕМЙЧБОЙЕ" Й НОПЗПЕ ДТХЗПЕ :0)
тБУУНПФТЙН ЕЗПООЩЕ РБТБНЕФТЩ: (Color=ГЧЕФ ПФВТБУЩЧБЕНПК ФЕОЙ - ВЕМЩК!, OffX Й OffY - ЬФП ОБ УЛПМШЛП РЙИЕМПЧ ФЕОШ ВХДЕФ ПФУФПСФШ ПФ ВХЛЧ - Х ОБУ ЬФП ОБ РЙИЕМШ ЧРТБЧП Й ОБ РЙИЕМШ ЧМЕЧП. нПЦОП Л ГЙЖЙТЙ РТЙРПМШЪПЧБФШ ЪОБЛ "НЙОХУ" - ЬФП ДБУФ ЧЩЧЕТОХФХА ЧМЕЧП Й ЧЧЕТИ ПФ ГЙЖЙТЙ ФЕОШ :0)
"рПУЙФЙЧЕ" С, ЮЕУФОП УЛБЪБФШ, ОЕ РПНОА - РП-НПЕНХ, РМПФОПУФШ - РПЬЛУРЕТЙНЕОФЙТХКФЕ :0)

бифхоз!! - ПВТБФЙФШ ЧОЙНБОЙЕ, ЮФП УХВРБТБНЕФТЩ ЧЪСФЩ Ч ( ) Й ПРПУМС ОЙИ ЙДЕФ - ";" - ФПЮЛБ У ЪБРСФПК. ъБЛТЩЧБЕФ ЛБУЛБД ЧУЕ ФПФ ЦЕ }

РБТБНЕФТЩ ЧОХФТЙ {} ТБЪДЕМСАФУС ПРСФШ ЦЕ ";" ОП ПРПУМС РПУМЕДОЕЗП РБТБНЕФТБ РЕТЕД УБНПК "}" ФПЮЛБ У ЪБРСФПК ЧПЧУЕ ОЕ ПВСЪБФЕМШОЩ.

ОХ, ЧПФ УПВУОП Й ЧУЕ УБНПЕ ПУОПЧОПЕ РТП CSS. оБ ЖЙМШФТБИ С ВПМЕЕ РПДТПВОП ПУФБОБЧМЙЧБФШУС ОЕ ВХДХ, РПУЛПМШЛХ ПОЙ РТЙЗПДОЩ Ч ПУОПЧОПН ФПМШЛП ДМС РМПТЕТБ, Б УМЕДПЧБФЕМШОП, УЕТШЕЪОПНХ ЧЕВПДЕМХ ОБЖЙЗ ОЕ УДБМЙУШ - РТЙ ЧУЕК РТЙСФОПУФЙ ОЕФ УНЩУМБ ЧПЪЙФШУС У ФЕН, ЮФП ЧЙДОП ДБМЕЛП ОЕ ЧУЕН РПУЕФЙФЕМСН.

 пУФБМПУШ ФПМШЛП РПСУОЙФШ, ЮФП ЧНЕУФП ФПЗП, ЮФПВЩ МЕРЙФШ ЧПФ ФБЛЙЕ "НОПЗПФПНОЙЛЙ" Ч ЛБЦДХА ПРСФШ ЦЕ РБЗХ, НПЦОП ИТБОЙФШ ОБ УБКФЕ ЧУЕЗП пдйо ЕДЙОУФЧЕООЩК ЖБКМ, ЧЩЪЩЧБФШ ЛПФПТЩК ЙЪ ЛБЦДПК РПФТЕВОПК РБЗЙ. йМЙ - ИТБОЙФШ ФБЛЙИ УФЙМЕК ОЕУЛПМШЛП - ДМС ХДПВУФЧБ ЙМЙ ДЙЪЙЗОБ: ОБ ПДОПК РБЗЕ ФБЛ, ОБ ДТХЗПК - ЬФБЛ.

рПДЛМАЮБЕФУС ПОП ФБЛ: РЙЫЕН ЬФХ ЗБМЙНБФША Ч ФЕЛУФПЧЩК ЖБКМ, РТСНП Ч ВМПЛОПФЕ - ЬФП РТПЭЕ! Й УПИТБОСЕН ОБ УБКФЕ ЛБЛ "ЙНСТЕЛ.css"
пРПУМС УЕЗП ПФЛТЩЧБЕН РБЗХ Й Ч УБББНПН ОБЮБМЕ РПД ФЕЗПН </head>
ЧУФБЧМСЕН ЧПФ ФБЛПЕ:
<LINK href="/РХФШ/ЙНСТЕЛ.css" type=text/css rel=stylesheet>
НЕОСФШ Ч ЬФПК УФТПЛЕ НПЦОП ФПМШЛП РХФШ Л ЖБКМХ УФЙМС Й ОБЙНЕОПЧБОЙЕ УБНПЗП ЖБКМБ.
фЕН, ЛФП Ч ФБОЛЕ: чуе, УПЧЕТЫЕООП ЧУЕ ЙНЕОБ ЖБКМб ОБ ЧБЫЕН УБКФЕ ДПМЦОЩ ВЩФШ ОБВТБОЩ ЙУЛМАЮЙФЕМШОП МБФЙОЙГЕК, ФП ЕУФШ мбфйойгек.

рТЙ РПНПЭЙ УФЙМЕК НПЦОП ДЕМБФШ Й ЛХЮХ ХЛТБЫБФЕМШУФЧ: ОБРТЙНЕТ, ФБВМЙГЩ ОЕ УРМПЫОПК МЙОЙЕК, Б РХОЛФЙТПН ЙМЙ ФПЮЛБНЙ:

1
2

ч РЕТЧПН УМХЮБЕ Х ОБУ РТЙНЕОЕО ЧУФБЧМЕООЩК Ч ОБЮБМП ФБВМЙГЩ ФЕЗ
style="border: dotted 1pt; border-color: gray;

чП ЧФПТПН УМХЮБЕ ЧНЕУФП dotted ЪОБЮЙФУС dashed
рПУМЕ ЬФЙИ ФЕЗПЧ УФБЧЙН ТБЪНЕТ ОБЫЙИ ФПЮЕЛ ЙМЙ ФЙТЕ - Й РТПЧЕТСЕН ЛБЛ УНПФТЙФУС.
ьФЙНЙ ЦЕ УФЙМСНЙ НПЦОП РТЕПВТБЪЙФШ Й ЛОПРЛЙ, Й ФЕЗ HR -
вМБЗПДБТС УФЙМСН НПЦОП ДБЦЕ УУЩМЛЙ РПДЮЕТЛЙЧБФШ РХОЛФЙТПН, ЛБЛ УЕКЮБУ ЧИПДЙФ Ч НПДХ.
б ЕЭЕ, ОЕЛПФПТЩЕ ВТПДЙМЛЙ РПЪЧПМСАФ РЕТЕЛМАЮБФШ УФЙМЙ, ЮФП РТЙ ЗТБНПФОПН ЙИ ОБРЙУБОЙЙ НПЦЕФ УМХЦЙФШ УЧПЕПВТБЪОЩНЙ "УЛЙОБНЙ" УБКФХ. уНЕОЙМ УФЙМШ - РПНЕОСМПУШ ЧУЕ - ТБУЛТБУЛБ, ТБНЛЙ, ЫТЙЖФ Й Ф.Р. пЮЕОШ ХДПВОП Й РТЙСФОП.
дБ, ЮХФШ ОЕ ЪБВЩМ... ФЕЗ <H1></H1>, РТП ЛПФПТЩК С ПВЕЭБМ ТБУУЛБЪБФШ РПДТПВОЕЕ, ФБЛ ЧПФ: НОПЗЙЕ РПЙУЛПЧЙЛЙ РПМПЦЙФЕМШОП ЧПУРТЙОЙНБАФ ЪБЗПМПЧЛЙ, РТПРЙУБООЩЕ Ч ЬФПН ФЕЗЕ. рТЙЮЕН, ЮЕН НЕОШЫЕ ГЙЖТБ ФЕЗБ, ФЕН ЧЩЫЕ "РТЙПТЙФЕФ" ЬФПЗП ЪБЗПМПЧЛБ. чУЕЗП ЙИ 6, У H1 РП H6. H6 УБНЩК НЕМЛЙК Й ВПМЕЕ ЙМЙ НЕОЕЕ ЧРЙУЩЧБЕФУС Ч ДЙЪБКО, Б ЧПФ H1 ОПТПЧЙФ ТБУФСОХФШУС Ч ЮЕТФ-ФЕ ЛБЛЙЕ ЧЕМЙЮЙОЩ
- ЧПФ ФБЛЙНЙ ВХЛЧБНЙ. оП ЮФП ЦЕ ДЕМБФШ? чЕДШ ДМС ХЧЕМЙЮЕОЙС ОБИПДЙНПУФЙ ОБН ОХЦЕО ЬФПФ ФЕЗ! рТЙ ЧУЕК ЕЗП ОЕХДПВПЧБТЙНПУФЙ Й ОЕЦЕМБОЙЙ ЧРЙУЩЧБФШУС Ч ДЙЪБКО ПО РТЙОПУЙФ ОЕРМПИПЕ ЛПМЙЮЕУФЧП "ПЮЛПЧ" РПМШЪЩ РЕТЕД РПЙУЛПЧЙЛБНЙ. й ФХФ ОБН РПНПЗХФ УФЙМЙ. рТПРЙУЩЧБЕН Ч CSS ЧПФ ФБЛПК ЛБУЛБД:

H1{FONT-SIZE:10pt; COLOR:#666666; font-style: normal; line-height: 16px; font-weight: bold; margin: 0px; padding: 0px;}

ЪБЗПМПЧПЛ
ЧФПТПК ЪБЗПМПЧПЛ

- ЛБЛ ЧЙДЙФЕ НПЦОП Й H1 ХЛТПФЙФШ ФБЛ, ЮФПВЩ ПО ПФПВТБЦБМУС ОЕ ЛТХРОЕЕ ПВЩЮОПЗП ФЕЛУФБ Й ДБЦЕ ПФУФХРПЧ, ПВЩЮОЩИ ДМС ОЕЗП, УЧЕТИХ Й УОЙЪХ ОЕ ВХДЕФ :0) ъБ ЬФПФ РБТБНЕФТ ПФЧЕЮБЕФ УТБЪХ ЗТХРРБ ОБУФТПЕЛ:
line-height: 16px; - ЬФП Х ОБУ ЧЩУПФБ ФПЗП РТПУФТБОУФЧБ, Ч ЛПФПТПН ТБУРПМБЗБЕФУС УФТПЛБ. оЕ ЫТЙЖФБ, Б ЧУЕК УФТПЛЙ! фП ЕУФШ РПУФБЧЙН ЕЗП, ОБРТЙНЕТ, 10 - РПМХЮЙН ОБРПМЪБОЙЕ ФЕЛУФБ:

line-height: 30px;
line-height: 8px;

ЪБЗПМПЧПЛ
ЧФПТПК ЪБЗПМПЧПЛ

ЪБЗПМПЧПЛ
ЧФПТПК ЪБЗПМПЧПЛ

font-weight: bold; - ЬФПФ ФЕЗ ДЕМБЕФ ЪБЗПМПЧЛЙ ЧЩДЕМЕООЩНЙ ЦЙТОЩН
margin: 0px; - ПФУФХР ПФ ЧЕТИОЕЗП МЕЧПЗП ХЗМБ СЮЕКЛЙ
padding: 0px; - ПФУФХР ЧОХФТЙ СЮЕКЛЙ ПФ ЧУЕИ ЛТБЕЧ, РТПЙЪЧПДЙФ РПЮФЙ ФПФ ЦЕ УБНЩК ЬЖЖЕЛФ, ЮФП Й margin

margin: 0px;
margin: 30px;

ЪБЗПМПЧПЛ
ЧФПТПК ЪБЗПМПЧПЛ

ЪБЗПМПЧПЛ
ЧФПТПК ЪБЗПМПЧПЛ

фЕРЕТШ П ФПН, ЛБЛ ЬФП ЧУЕ РТЙГЕРМСЕФУС Л УБКФХ. иТБОЙФУС CSS ПВЩЮОП Ч ПФДЕМШОПН ЖБКМЕ, ЛПФПТЩК ВТПХЪЕТ Й УЮЙФЩЧБЕФ РТЙ ПФПВТБЦЕОЙЙ УФТБОЙЮЕЛ ЧБЫЕЗП УБКФБ. юФПВЩ CSS ПЛБЪЩЧБМ ЧПЪДЕКУФЧЙЕ ОБ УПДЕТЦЙНПЕ УФТБОЙЮЛЙ, Ч ОБЮБМЕ ЕЕ ЧУФБЧМСЕН ЧПФ ФБЛПК ЧЩЪПЧ:
<link href="/РХФШ/ЙНС ЖБКМБ.css" rel="stylesheet" type="text/css">
РТПРЙУБФШ ЕЗП ОБДП НЕЦДХ ФЕЗПН <html> Й ФЕЗПН <body>. еУМЙ ЦЕ ВПМШЫПК ОХЦДЩ Ч НПЭОПК Й УМПЦОПК ФБВМЙГЕ УФЙМЕК ОЕФ Й ОХЦОП МЙЫШ ЕДЙОПТБЪПЧП РПДРТБЧЙФШ ЛБЛПК-ФП ЬМЕНЕОФ, ДПУФБФПЮОП ЧУФБЧЙФШ Ч УППФЧЕФУФЧХАЭЙК ФЕЗ "style="РБТБНЕФТЩ" - ОБРТЙНЕТ ЧПФ:

<table width="100%" height="410" border="0" cellpadding="14" cellspacing="0" class="txt" style="border: dashed 1pt; border-color: gray; border-top: none; border-bottom: none;">

ьФБ УФТПЛБ ЪБЗПМПЧЛБ ФБВМЙГЩ. чУФТПЕОЩК УФЙМШ Ч ОЕК "ХВЙТБЕФ" ЧЕТИОАА Й РТБЧХА ЗТБОЙГЩ, ПУФБЧМСС ФПМШЛП МЕЧХА Й РТБЧХА.


Хотите собственную баннерокрутилку?

Большенсво крупных крутилок используют IFRAME , а как известно NN этот тег не понимает.
Чтобы создать крутилку не нужно наворотов, типа поддержки CGI. Нужно только желание.
Принцип очень прост - использование внешне подключаемого javascript'a. Вы будете давать участникам путь к этому скрипту.
Вот небольшой пример:
Создайте документ с расширение .js

<!-- link = new Array(5);

link[0] = ' <a href="http://www.ru">Ссылка #1 </a> ';
link[1] = ' <a href="http://www.ru">Ссылка #2 </a> ';
link[2] = ' <a href="http://www.ru">Ссылка #3 </a> ';
link[3] = ' <a href="http://www.ru">Ссылка #4 </a> ';
link[4] = ' <a href="http://www.ru">Ссылка #5 </a> ';
banner = Math.floor(Math.random() * link.length);

document.write(' '+link[banner]+' ');
//-->

Чтобы "включить" этот скрипт нужно в нужном месте вставить это:
<SCRIPT SRC="путь к скрипту\этот скрипт.js" TYPE="text/JavaScript"></SCRIPT>

Эту часть вы будете давать своим участникам для размещения у себя на странице. Вместо текстовой можно вcтавить и баннер. Экспериментируйте.
Готовы пример можете увидеть у меня на сайте http://prikol.bos.ru - там есть текстовая и баннерная крутилка.
Если вам нужно заключить сслыку в таблицу или в другие теги, попробуйте вставить их в скрипт, чтобы какая-то часть не вылезла в броузерах не поддерживающих ява скрипты( у меня на сайте это текстовая крутилка).

document.write(' <b> ');
document.write(' '+link[banner]+' ');
document.write(' </b> ');

ну и в таком роде... Этот пример работает в браузерах с поддержкой ява скриптов. Эсли поддержки нет, то просто ничего не отобразится.


Как обойтись без использования SSI

Вот типичная ситуация: Вы, полный желанием и фантазией, хотите сделать свой сайт. Вот Вы уже начали делать HTML странички, но перед Вами встал серьёзный вопрос, на какой сервер помещать сайт? Естественно Вы не будет платить деньги за представленное место на диске сервера, а следовательно будет искать подходящий бесплатный хостинг. Самыми распространёнными бесплатными серверами на сегодняшний день являются Народ, BOOM, NewMail, Chat и др. На них нельзя использовать CGI скрипты и SSI, так что если у Вас на сайте к примеру на каждой страничке одна и та же менюшка, то Вам придётся вставлять её в каждый файл. Но более страшная ситуация настанет, если Вы уже имеете окола ста страниц с этой менюшкой и Вам потребовалось добавить в неё новый раздел. Вас ждёт долгое и мучительное исправление страниц, а затем закачивание их на сервер.

Умные люди уже давно придумали директиву SSI #include, которая на стороне сервера (т.е. ещё до того, как страничка дошла до пользователя) вставляет внутрь HTML файла в указанном месте содержимое другого файла, в котором и лежит эта самая менюшка, и пользователю приходит файл, в содержимом которого уже есть меню. Но ведь использование такой замечательной директивы запрещено на большинстве бесплатных хостингов.

Вместо SSI можно воспользоваться обычным JavaScript. Он выполняется на стороне пользователя (т.е. уже на компьютере человека, после того как к нему пришла страничка). Вот как это работает: сначала страничка запрашивает файл с Java-скриптом, как, например, обычный рисунок, затем скрипт печатает в браузере определённый текст, например менюшку.

Этот текст выводит строчку с e-mail'ом автора страницы.

<html><body>
<i>Содержимое страницы, какие-нибудь тексты и т.д.</i>
<script language=JavaScript>
document.write ('<br>О жалобах и предложениях пишите на ',
'<a href=mailto:vasya@pupkin.ru>vasya@pupkin.ru</a>')
</script>
</html></body>

Содержимое страницы, какие-нибудь тексты и т.д.

Даже ежу понятно, что document.write () - это метод объекта document для вывода текста. Если текст для вывода не помещается в одну строчку, его можно перенести, поставив кавычку и запятую, а на следующей строчке опять поставить кавычку и продолжить текст. Прошу заметить, что в тексте для вывода можно использовать HTML тэги!

Итак, мы заменили обычный HTML код на JavaScript. Теперь вынесём код скрипта в отдельный файл и назовём его скажем my_e-mail.js

Вот содержимое этого файла:

document.write ('<br>О жалобах и предложениях пишите на ',
'<a href=mailto:vasya@pupkin.ru>vasya@pupkin.ru</a>')

Обратите внимание, что в файле тэг <script language=JavaScript> писать не надо.

Теперь исправляем HTML страничку следующим образом:

<html><body>
<i>Содержимое страницы, какие-нибудь тексты и т.д.</i>
<script language=JavaScript src=my_e-mail.js></script>
</html></body>

Результат этого кода в сочетании с файлом my_e-mail.js даст тот же результат, что и в первом примере, так что теперь вставляя строчку <script language=JavaScript src=my_e-mail.js></script> в любом месте страницы, будут выведен e-mail автора. Впоследствии он может измениться и нужно будет исправить только файл с JavaScript'ом. В этом и директива #unclude и JavaScript одтнаковы. Но у скрипта есть свои приемущества и недостатки. Начнём с недостатков: 1) если поисковая машина начнёт закачивать этот файл, то в нём не будет содержимого Java-скрипта, а следовательно индексация страницы будет происходить плохо (естественно не всей страницы, а только текста этого скрипта). Приемущества: 1) JavaScript работает во всех браузерах, 2) файл скрипта сохраняется в Temperatoty Internet Files, а значит при обращении к этой же странице или к другой, но использующую этот же скрипт, он будет не скачиваться заново, а загрузится из временных файлов интернет. Это особенно хорошо, если файл занимает 20 КБ и более.

Теперь рассмотрим конкретный случай. Например вы делаете страницу, которая соответствует следующему шаблону:

Логотип | Баннер 468x60
Меню Раздел #1 Раздел #2 Раздел #3 | Текст страницы или что-нибудь ещё. Текст страницы или что-нибудь ещё.

О жалобах и предложениях пишите на vasya@pupkin.ru

Вот HTML текст шаблона:

<table align=center width=300 bordercolor=#C0C0C0 border=1 cellspacing=0 cellpadding=5>
<tr>
<td><img alt="Логотип" width=100 height=50></td>
<td><img alt="Баннер 468x60" width=200 height=26></td>
</tr>
<tr>
<td><b>Меню</b><br>
<a href=#>Раздел #1</a><br>
<a href=#>Раздел #2</a><br>
<a href=#>Раздел #3</a>
</td>
<td>Текст страницы или что-нибудь ещё. Текст страницы или что-нибудь ещё.</td>
</tr>
</table><br>
<center>О жалобах и предложениях пишите на
<a href=mailto:vasya@pupkin.ru>vasya@pupkin.ru</a></center>

Если посмотреть на шаблон, то можно сразу сказать, что нужно не менее четырёх скриптов: одни на логотип, другой на баннер 468x60, третий на меню, а четвёртый на e-mail. Но если Вы внимательно посмотрели код шаблона, то наверное заметили, что можно обойтись всего двумя скриптами. Посмотрев этот же код но с разметками начала и конца Java-скриптов всё станет ясно.

НАЧИНАЕТСЯ ПЕРВЫЙ СКРИПТ
<table align=center width=300 bordercolor=#C0C0C0 border=1 cellspacing=0 cellpadding=5>
<tr>
<td><img alt="Логотип" width=100 height=50></td>
<td><img alt="Баннер 468x60" width=200 height=26></td>
</tr>
<tr>
<td><b>Меню</b><br>
<a href=#>Раздел #1</a><br>
<a href=#>Раздел #2</a><br>
<a href=#>Раздел #3</a>
</td>
<td>
КОНЧАЕТСЯ ПЕРВЫЙ СКРИПТ

Текст страницы или что-нибудь ещё. Текст страницы или что-нибудь ещё.

НАЧИНАЕТСЯ ВТОРОЙ СКРИПТ
</td>
</tr>
</table><br>
<center>О жалобах и предложениях пишите на
<a href=mailto:vasya@pupkin.ru>vasya@pupkin.ru</a></center>
КОНЧАЕТСЯ ВТОРОЙ СКРИПТ

На скрипты текст разбит, осталось только написать document.write и выделить его в кавычки.

НАЧИНАЕТСЯ ПЕРВЫЙ СКРИПТ
document.write('<table align=center width=300 bordercolor=#C0C0C0 border=1 cellspacing=0 cellpadding=5>',
'<tr>',
'<td><img alt="Логотип" width=100 height=50></td>',
'<td><img alt="Баннер 468x60" width=200 height=26></td>',
'</tr>',
'<tr>',
'<td><b>Меню</b><br>',
'<a href=#>Раздел #1</a><br>',
'<a href=#>Раздел #2</a><br>',
'<a href=#>Раздел #3</a>',
'</td>',
'<td>')
КОНЧАЕТСЯ ПЕРВЫЙ СКРИПТ

Текст страницы или что-нибудь ещё. Текст страницы или что-нибудь ещё.

НАЧИНАЕТСЯ ВТОРОЙ СКРИПТ
document.write('</td>',
'</tr>',
'</table><br>',
'<center>О жалобах и предложениях пишите на ',
'<a href=mailto:vasya@pupkin.ru>vasya@pupkin.ru</a></center>')
КОНЧАЕТСЯ ВТОРОЙ СКРИПТ

Таким образом, если у Вас произойдет какие-либо изменения в дизайне или в расположении элементов, Вам нужно будет просто изменить 2 JavaScript'а.

Вот пожалуй и всё.


PHP

Работа с файлами в PHP

А пока немного о файлах. Внешний по отношению к скрипту файл можно включить в скрипт функцией include(). Но всегда хочется большего. Например, вы гениальный дизайнер, вы нарисовали шикарный сайт некой фирме, но вам очень не хочется обновлять каждую неделю их прайс-лист. Вы можете за обновление брать деньги, но много денег за это брать стыдно (я надеюсь), а повозиться придется. Как быть? А как готовят прайс-лист в той фирме? Скорее всего, у них есть некая таблица в неком табличном редакторе типа 1-2-3 или Excel. Вот его бы и положить на сайт... Но файл этот хитрого формата, да и размера немалого.

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

<?
 $fp=fopen('файл.tsv','r'); // Откроем этот файл из-под Excel
 if ($fp) :
?>
<table border=0 cellpadding=2 cellspacing=0>
<?
 for ($i=0; !feof($fp); $i++) : // пока не конец файла
  // читаем строку, отрезаем пробелы в конце и разбиваем ее на поля.
  list($a,$b,$c)=split("\t",chop(fgets($fp,1000)));
?>
<tr bgcolor=»#<? echo $i%2?'f0f0f0':'ffffff' ?>»>
<td><? echo $a ?></td>
<td><? echo $b ?></td>
<td><? echo $c ?></td>
</tr>
<? endfor ?>
</table>
<? fclose($fp); endif ?>
PHP имеет достаточное количество встроенных функций для работы с файлами, но частенько хочется этот набор несколько расширить. Например как сделать www-чат? В теории все просто, все посетители пишут в один файл и читают последние N строк этого файла. Конечно, хотелось бы читать этот файл не последовательно с начала. Я предлагаю вашему вниманию функцию tail(), которая работает очень быстро не зависимо от размеров читаемого файла.

<?
if (!$tail_inc) : // Чтобы не включать файл дважды
$tail_inc=1;
function tail($file,$num) {
 // читаем $num последних строк файла $file
 global $tail_start_buf; // предполагаемая длина строки
 if ($tail_start_buf==0) $tail_start_buf=80;
 $appxlen=$tail_start_buf;// примерная длина строки для расчета
 $flen=filesize($file); // длина файла
 $out=array(); // то, что вернется
 $fp=@fopen($file,'r');
 if ($fp) {
 do {
  // вычисляем, откуда читать файл
  if ($num*$appxlen>$flen) $pos=0;
  else $pos=$flen-($num*$appxlen);
  $out=_readfile($fp,$pos,$num); // читаем строчки до конца файла
   // на следующий цикл длиной строки считаем удвоенную среднюю
      прочитанную
  $appxlen=($flen-$pos+1)*$num*2/count($out); // *!*
 } while (count($out)!=$num && $pos!=0);
 fclose($fp);
 }
 return $out;
}
// вспомогательная функция
// читает файл $fp с позиции $pos и максимум $num строк
function _readfile($fp,$pos,$num) {
 fseek($fp,$pos); // позиционируем файл
 $tmp=array(); // временный массив
 while (!feof($fp)) { // читаем файл до конца
  $line=chop(fgetsl($fp)); // *!!*
 $tmp[]=$line;
 }
 $j=count($tmp)-$num; // кол-во лишних строк
 if ($pos!=0 && $j==0) { // если ровно сколько надо строк,
  $j++; // пропустить первую неполную
 }
 if ($j<0) { // если не хватает строк,
  $j=0; // выводить все
  $xnum=$num-1;
 } else $xnum=$num;
  // переписать в выводной массив нужные строки.
  for ($i=0; $i<$xnum && $j<count($tmp); $i++,$j++)
   $out[$i]=$tmp[$j];
   return $out;
  }
 endif; // if (!$tail_inc)
?>
Я не буду утверждать, что это лучший на свете алгоритм, и принимаю все предложения по его улучшению. Есть два замечания сразу.

*!* Здесь вычисляется средняя длина строки для следующего цикла. У меня это отлично работало и при $appxlen*=2, но так, наверно, быстрее будет. *!!* Здесь я применил функцию fgetsl(), но это особый разговор.

Функция чтения строки из файла имеет ограничение на длину считываемой строки. А думать о длинах строк при написании гениальных скриптов не хочется. Как быть? Я предлагаю небольшую функцию, аналогичную fgets(), но без неприятного ограничения:

<?

function fgetsl($fp) {

while (!feof($fp) && strchr($out,"\n")) $out.=fgets($fp,1000);

return $out;

}

?>
Авторизация посетителя сайта на PHP

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


Основы CSS. Вставка описания

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

первый способ.
Описание стиля вставляется непосредственно в обьект.Например для текста:

<FONT style="font-family: Sans Serif,tahoma,
Verdana, Arial; SIZE: 14px;
FONT-WEIGHT: bold;
color: #00A400; ">Пример стиля</FONT>

Пример стиля

Для формы:

<INPUT TYPE=TEXT
NAME=ooo
style="font-family: Sans Serif,
tahoma,Verdana, Arial;
SIZE: 14px; FONT-WEIGHT: bold;
color: #00F0FF;
background-color: #00007B;"
VALUE= пример ALIGN= пример
size=20 MAXLENGTH=20>

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

Пишем прямо в ТЭГ:

style="font-family: Sans Serif,
tahoma,Verdana, Arial; SIZE: 14px;
FONT-WEIGHT: bold;
color: #00F0FF; background-color: #00007B;

Или по русски:
пишем style=" описание стиля 1; описание стиля 2; "
Новички! Не пугайтесь. Какому обьекту что можно прописать смотрите в следующих статьях.

второй способ.
Этот способ наиболее часто встречается в оформлении страниц так как дает возможность указать стилевые спецификации для всех обьектов страницы.
Вставляем между HEAD и /HEAD:

<style type=text/css>

</style>

В "описание стилей" вставляем все описания, которые нам нужны на данной странице. Обратите внимание на синтаксис - значки комментариев ставятся для броузеров не поддерживающих CSS.

третий способ.

Этот способ наиболее соответствует всей концепции CSS. Именно он позволяет указать стили для многих страниц сразу.
Описание стилей размещается в отдельном файле.
В HEAD вставляем:

<link rel="stylesheet" type="text/css"
href="styl.css">

Это ссылка на файл со стилями, указывающая браузеру на использование стилей. При встрече такой ссылки браузер обращается к вашему файлу со стилями, размещенному по адресу:"styl.css". Файл можно назвать как угодно, главное, чтобы он был в формате "css" и имена в ссылке и файла совпадали.
Например:

<link rel="stylesheet" type="text/css"
href="petrovich.css">
для файла "petrovich.css"

Файл CSS изготовить очень просто. В файле пишем то-же самое, что было между "style type=text/css" и "/style" во втором способе. Можно использовать простой стандартный "БЛОКНОТ", установленный на всех WIN. Открываем блокнот и пишем, например:

<!- -
body{background-color:#000000;
font-family: MS Sans Serif, tahoma, Verdana, Arial;
FONT-SIZE: 10px; color:#00EFFF}
A { color :#00E1FF;
FONT-FAMILY: Verdana, Arial;
text-decoration:underline; FONT-SIZE: 8pt;}
A:Hover { color :#FF0000;
text-decoration: underline;}
- ->

Вот прямо так и пишем. Больше ничего. Не вдавайтесь в подробности написанного, поймите саму схему! Написали что хотели. Теперь находим у "БЛОКНОТА" кнопку "ФАЙЛ" и выбираем "СОХРАНИТЬ КАК,,,". Выбираем "ВСЕ ФАЙЛЫ" и пишем в строке для названия файлов:natali.css natali - это имя Вашего файла. Обязательно ставим точку и пишемcss маленькими буквами. Теперь осталось только нажать на кнопку "СОХРАНИТЬ". (Не забудте перед нажатием найти ту папку, в которой будет этот файл.) Вот и все!

Файл в HEAD будет выглядеть так: <link rel="stylesheet" type="text/css" href="natali.css">
Файл CSS, как Вы понимаете сами, может размещаться и в другой папке. Тогда в "link" указываем тот адрес, по которому он находится.

Обратите внимание!

Если вы задали описание одной характеристики стиля одного обьекта двумя или тремя способами(например, в самом обьекте и в отдельном CSS-файле), то выполняться будет то описание, которое ближе к обьекту(в данном случае - стиль в самом обьекте)!

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

Дополнение
В CSS2 принят несколько иной метод включения описаний стилей из внешнего файла:

@import "subs.css";

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