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

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

Бесплатный интернет
Mail hacking
Sourse Code Scanners
Анализатор ICMP-пакетов своими руками
Аппаратная защита

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

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


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

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


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

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

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


С С Ы Л К И
www.samsung.ru

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


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

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


ГЛАВНАЯ

WEB

HACK

РАЗНОЕ

ДЛЯ ВАС

ЛОГИ

Пиши нам


РАЗНОЕ
Сервисный код для NOKIA 5120
SMS в двух словах
Беспроводные средства связи и безопастность
Как смотреть НТВ+ и другие каналы
Мобильная безопастность

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

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


WEB
Специальные символы
Скрипт-приветствие
Таблица базовых цветов BgColor
Java Script
СДЕЛАЙ САМ - кое-что о муках сайтостроения
Програмирование
Хотите собственную баннерокрутилку?
Как обойтись без использования SSI
PHP
Основы CSS. Вставка описания


Бесплатный интернет
И так есть провайдер с гостевым доступом по своему айпи диапазону то бишь и к хостингу, там всяки юзирям он даёт места под хом-паги и т.д. И так что на нужно 1 куить карточку и зарегиться у прова 2 забульбенить себе хом пагу 3 найти в нете прокси сервер на перле 4 заходить под гостевым подключением и сёрфить инет через свою хом пагу Прошу заметить что эта фишка канает далеко не свсеми провами. Для того чтобы эта фишка пахала необходимы следующие условия 1 чтобы про пускал тебя под гостевом подключении на хомпаги юзерей его сети то бишь на www.provider.com~user-hom-paga 2 Поддержка всех необходимых сервисов для работы прокси на перле.


Mail hacking
Дарова чувачище! Я догадываюсь, что ты уже имеешь на примете не один десяток мыл, которые ты хочешь похачить, но не знаешь как: ( , а хочется очень сильно. Это первая статья из серии Mail Hacking, и сегодня я тебе поведаю о том, как узнать пароль к ящику твоего недруга, поймав его на его же собственном стремлении похачить кого-нибудь. Для начала надо побольше узнать о жертве и его целях на ближайшее будущее. Если мега-хацкер, мыло, которого ты хочешь поиметь пытается угнать аську, сломать чьё-то мыло или сайт, то считай, что пароль к ящику у тебя в кармане. Если же нет то ты должен попытаться его уверить в том, что это очень крюто сломать чьё-нибудь мыло. Можешь даже похвастаться ему, что ты уже сломал не один десяток мыл (ведь это так?=) а он даже и одного не ломанул. Допустим, жертва хочет похакать чьё-нибудь мыло (узнай какое именно) дальше юзверю ушастому надо рассказать про крутой журнал для настоящих хаксоров Phrack(www.phrack.org) и убедить что он для 31337хакеров (это действительно так). Наверняка юзверь ничего там не поймёт, ведь там всё написано на фиглише да ещё про вещи неведомые ему. Здесь наступает следующий этап в хаке мыла. Тебе нужно сделать русскую версию журнала Phrack(!!!), т.е. сделать хтмл'ку, как - будто журнал Phrack (можешь посмотреть пример) в котором должна быть статейка примерно следующего содержания:

В очередной раз была найдена ошибка на сервере hotmail.com. На этот раз сервер высылает пароль к ЛЮБОМУ почтовому ящику, если написать письмо с особыми параметрами запроса. Для получения пароля к ящику, зарегистрированному в службе hotmail нужно отправить письмо на адрес password@hotmail.com и в теле письма указать адрес ящика, к которому требуется пароль - и буквально через 5 минут вы получите пароль к требуемому почтовому ящику. Изначально эта система была сделана для пользователей с особым аккаунтом, благодаря этой службе они могли "вспомнить" забытый пароль от своего почтового ящика. Для того, чтобы сервер воспринимал правильно запрос письмо должно быть написано в следующей форме: тема: n/a текст письма: password>>>адрес@hotmail.ru from>>>мой@aдрес.ru>>>passwd>>>мой_пароль_к_моему_ящику Необходимо указать адрес своего ящика и правильного пароля к нему, т.к. сервер проверяет существует-ли ящик с которого отправлено письмо. Как и большинство творений Microsoft эта служба иногда обрабатывает неправильно данные, которые приходят по почте, поэтому рекомендуется использовать адрес ящика, состоящий только из чисел(в идеале: номер@номер.ru). Эта дыра существует уже около 2 недель(!!!) и до сих пор не пропатчена и тем не менее стоит поторопиться со взломом почтового ящика ведь даже в Microsoft админы патчат дыры. В заключении хочу сказать, что этот баг широко используется для угона 6-значных ICQ-уинов. Так что советую тебе поискать уин с мылом на hotmail и считай что он твой!

90% процентов, что "мега-хацкер" тут же кинется писать письмо с паролем к своему ящику. Перед тем как слать ему Phrack скажи ему, что тебе уже пришёл этот номер Phrack'a и ты ломанул этим способом мыло. Это сыграет свою роль. Лично у меня эта фишка прокатила сразу, пацан сразу после прочтения письма кинулся отсылать пароль к своему ящику, после чего его сайт был задефейсен. Вот так вот. Жди следующих статей про mail-хакинг, если будут вопросы - пиши blast@crazy.ru


Sourse Code Scanners
Надеюсь каждому приходилось пользоваться различными сканерами уязвимостей и др. Сегодня я расскажу про теже самые сканеры, но другого плана. Sourse code scanners(анализаторы исходных текстов) иначе это утилиты, проверяющие/сканирующие код программы. Ведь в любой проге есть какая-либо ошибка(например переполнение буфера). Вот и что бы этого избежать появились эти чудо-сканеры. Но эти SourseCodeScanners запускаються под *.nix(в консольке) и проверяют проги, довольно часто написанные на C. На описание этих анализаторов уйдет очень много места, так что я просто перечислю их.
FlawFinder(http://www.dwheeler.com/flawfinder) Неплохая прога, единственное она требуeт интерпретатор языка Python.
Rats(http://www.securesw.com/projects.html) Прога для скана исходных кодов прог на C/C++, PHP, PERL, PYTHON.
ITS4(http://www.cigital.com/services/its4) Давольно известная утилита для поиска ошибок в исходниках. Как и все выше упомянутые утилы эта прога работает в консольке. Она сканит исходник и плюс к этому показывает инфу об ошибке.
Pscan(http://www.striker.ottawa.on.ca/~aland/pscan/) У этой утилы есть одна важная цель - она ищет такую ошибку как переполнение буфера.

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


Анализатор ICMP-пакетов своими руками
Бедному Диалапщику посвящается!
Хочешь разобраться в работе пресловутого протокола ICMP, о котором все так много говорят? Да, понимаю, читать толстенные книги по протоколам, в которых понятны только предлоги, или еще хуже - красными глазами читать RFC, держа перед собой толстенный англо-русский словарь, так как твои познания в английском заканчиваются фразой: "Who`s on duty today? I am on duty today." - кому хочется?! Ты прекрасно знаешь, что самый верный путь к знаниям - это практика. Когда ты видишь как формируются пакеты, как они отправляются, ты сможешь в дальнейшем понять и более сложные вещи! Но у тебя гигантская проблема - Windows 9x! К сожалению работать с пакетами на низком уровне winsock (библиотека предоставляющая интерфейс работы с сокетами) в этих версиях (9х) не позволит! Есть несколько способов решения этой проблемы: ставь другую ось (или старшие версии Windows 2000, XP...) или ищи NDIS драйвер и учись его использовать (можешь, конечно, сам его написать, но если ты его написал, то зачем тебе читать все это). Но никто не запрещал тебе работать с протоколами высокого уровня.
Чтобы спуфить пакеты, например ICMP, нужно хотя бы знать как они выглядят и для чего вообще предназначены. Я предлагаю тебе инструмент, с помощью которого ты сможешь анализировать ICMP пакеты - а это достаточно важно! Что тебе нужно для создания своего собственного анализатора ICMP пакетов: компилятор какого-либо языка (реализующего winsock, все функции описанные ниже практически не меняют своего интерфейса), пальцы чтобы написать код, мозги чтобы все это понять.
Итак, начнем. Я написал все на С++ (Borland C++ v5.01). Сначала действуем по стандартному плану создания сервера: инициализируем структуру sockaddr_in таким образом:

sockaddr_in *addr;
addr = new sockaddr_in;
addr->sin_family = AF_INET; // Семейство адресов AF_INET или PF_INET - каму как нравится.
addr->sin_port = htons(0); // Номер порта нам неважен, мы работаем на низком уровне,
// где номера портов не имеют значение.
addr->sin_addr.s_addr = htonl(INADDR_ANY); // Выбираем любой интерфейс(обычно он один)
Затем инициализируем структуру protoent, чтобы winsock знал с каким протоколом мы будем работать:

protoent *protocol;
protocol = getprotobyname("icmp");
Создаем дескриптор сокета:

int sock;
sock = socket(AF_INET,SOCK_RAW,protocol->p_proto);

Обрати внимание, что мы работаем не с SOCK_DGRAM, и уж тем более не с SOCK_STREAM, а с SOCK_RAW, так называемые "сырые" сокеты. Затем, как обычно, проверяем на ошибки и идем далее (если INVALID_SOCKET, то обломись дружок). Биндим наш сокет с адресом, которой мы определили в указателе addr:

int err;
err = bind(sock,(sockaddr *)addr,sizeof(*addr));
Тоже проверяем на ошибки. Дальше начинается самое интересное: мы не вызываем функции listen() и accept(), как обычно, а сразу начинаем принимать пакеты функцией recvfrom():

int rc;
char buffer[1024];
while(true)
{
rc = recvfrom(sock,buffer,sizeof(buffer),0,(sockaddr *)addr,&len);
}

Проверяем на ошибки, если rc == -1 тогда ошибка, иначе все круто и идем дальше (все это делается внутри бесконечного цикла). Когда мы получили пакет из сети, в структуре addr у нас хранится адрес того хорька, который послал тебе этот ICMP пакет, только не в привычном для нас виде ("четыре точки"), а в машинном. Надо привести его к читаемому виду. Легко!

cout<<"received from: "<sin_addr)<
Теперь у нас в руках полученный пакет (в массиве buffer). Что с ним делать? Организуем процедуру для вывода содержимого пакета на экран. Я особо не заморачивался по поводу этой процедуры, так что кому не нравиться может организовать все самостоятельно. Главное знать, что где находиться!
Теперь о некоторых нюансах. Прежде всего как узнать ось по пингу? Конечно, точно ось не определить, но если тебя пингуют стандартными прогами, входящими в пакет ОС (ping...) с размером пакета по дефолту, можно точно сказать: если тебе пришло 32 байта, то знай - это твой товарищ по Виндам, если 56, то это обладатель UNIX машины!
Если поле тип содержит 0 или 8, то знай - это ping . Если 5 - запрос на переадресацию (советую тщательно изучить именно этот тип ICMP, так как он бывает очень полезен при проведении некоторых видов атак!).
Если ты все сделаешь, откомпилишь и запустишь, затем пропингуешь самого себя, ты получишь столько пакетов сколько отправил! Почему, спросишь ты? Дело в том что "сырым" сокетам передаются не все ICMP пакеты, некоторые ядро обрабатывает самостоятельно, это небольшой недостаток нашей с тобой проги. Зато если вместо IPPROTO_ICMP в сокете написать IPPROTO_RAW, тогда ты получишь доступ и к IGMP пакетам, а также ко всем пакетам в поле протокол которых стоит неизвестное ядру значение, попросту говоря все пакеты, которые ядро не знает как обрабатывать!
С вопросами можете обращаться по адресу alpon83@mail.ru, помогу чем смогу!


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

Рассмотрим все пункты по порядку.

1. Аппаратная защита программного обеспечения

Введение

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

Электронные ключи

Под термином "электронный ключ" предполагается аппаратная реализация системы защиты и соответствующего программного обеспечения. Сам ключ представляет собой плату, защищённую корпусом, в архитектуру которой обязательно входят микросхемы памяти и, иногда, микропроцессор. Ключ может подключаться в слот расширения материнской платы ISA, или же к LPT, COM, PCMCIA, USB-порту компьютера. В его программное обеспечение входит модуль, который встраивается в защищаемое ПО (таким образом данное программное обеспечение "привязывается" к ключу, а не к конкретному компьютеру), и драйвера под различные операционные системы. Ключи в большинстве своём основаны на одной из трёх моделей существующих аппаратных реализаций: на основе FLASH-памяти, PIC или ASIC-чипов. Помимо этого, в некоторые ключи встраиваются дополнительные возможности в виде энергонезависимой памяти, таймеров, выбора алгоритма кодирования данных. Что касается аппаратной реализации электронного ключа на основе FLASH-памяти, то следует заметить, что он достаточно прост и является наименее стойким ко взлому (стойкость определяется типом программной части). В архитектуру такого ключа не входит микропроцессор, а в подобных системах критическая информация (таблица переходов и ключ дешифрации) хранится в памяти. Кроме того, такие ключи обладают наименьшей степенью прозрачности для стандартных протоколов обмена. Защита заключается в считывании из ключа определённых данных и участков кода на этапе проверки легальности использования. Чтобы дезактивировать такую защиту в большинстве случаев взломщику потребуется аппаратная часть системы защиты. Методика взлома основана на перехвате диалога между программной и аппаратной частями для доступа к критической информации. Другими словами: определяется алгоритм обмена информацией между ключом и компьютером, считывается информация из FLASH-памяти и пишется соответствующий эмулятор. Для PIC- и ASIC-ключей защита строится по принципиально другому методу. В их архитектуру уже входит микропроцессор. Помимо этого данные микросхемы включают небольшое количество оперативной памяти, память команд и память для хранения микропрограммы. В аппаратной части содержится ключ дешифрации и блоки шифрации/дешифрации данных. Ключи на этой основе намного более устойчивы ко взлому и являются более прозрачными для стандартных протоколов обмена. PIC-чипы программируются разработчиками ключей, поэтому PIC-ключи являются более дорогой перспективой для заказчика. Аппаратную копию такого ключа сделать довольно проблематично за счёт того, что микропрограмма и внутренняя память защищены от внешнего считывания, НО к таким ключам применимы методы криптоанализа. Достаточно сложной является также задача перехвата ключа (основная обработка производится аппаратной частью). Однако остается возможность сохранения защищенной программы в открытом виде после того, как система защиты отработала.

Отрицательными сторонами аппаратных (электронных) ключей является: 1. Возможная несовместимость с программным обеспечением или аппаратурой пользователя; 2. Затруднение разработки и отладки программного обеспечения; 3. Повышение системных требований для защищаемого программного обеспечения; 4. Угроза кражи; 5. Невозможность использования защищённого ПО в портативных компьютерах; 6. Затраты на приобретение; 7. Несовместимость с аппаратными ключами других фирм; 8. Снижение отказоустойчивости программного обеспечения;

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

"Ключевые диски"

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

СМАРТ-карты

В последнее время в качестве электронного ключа широко распространились СМАРТ-карты. Носителем информации в них является микросхема. Условно их можно разделить на микропроцессорные, карты с памятью и криптографические (поддержка алгоритмов DES, RSA и других) карты. Карты с памятью или memory cards являются самыми простейшими из класса СМАРТ-карт. Объем их памяти составляет величину от 32 байт до 16 килобайт. Такие карты делятся на два типа: с защищенной и незащищенной (полный доступ) памятью. Уровень защиты карт памяти выше, поэтому они могут быть использованы в прикладных системах небольших финансовых оборотов. Карты с микропроцессором или CPU cards представляют собой микрокомпьютеры и содержат все соответствующие основные компоненты. Часть данных операционной системы микропроцессорной карты доступна только её внутренним программам. Также она содержит встроенные криптографические средства. За счёт всего перечисленного подобная карта достаточно защищёна и может быть использована в финансовых приложениях.

Заключение

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

2. Аппаратная защита компьютера и информации

Вопрос защиты персональных компьютеров от несанкционированного доступа в сетях различных компаний и особенно банковских структур в последнее время приобретает всё большую популярность. Тенденции роста и развития внутренних ЛВС требуют более новых решений в области программно-аппаратных средств защиты от НСД. Наряду с возможностью удалённого НСД, необходимо рассматривать ещё и физический доступ к определённым компьютерам сети. Во многих случаях эта задача решается системами аудио- и видеонаблюдения, сигнализациями в помещениях, а также правилами допуска посторонних лиц, за соблюдением которых строго следит служба безопасности и сами сотрудники. Но случается по-разному… Помимо этого, используются средства разграничения доступа пользователей к ресурсам компьютера, средства шифрования файлов, каталогов, логических дисков, средства защиты от загрузки компьютера с дискеты, парольные защиты BIOS и многое другое. Однако есть способы обойти любое из перечисленных средств в зависимости от ситуации и установленной защиты. Осуществляться это может различными путями перехвата управления компьютера на стадии загрузки BIOS или операционной системы, а также ввода на аппаратном уровне дополнительного BIOS. Следовательно, программно реализовать хорошую защиту довольно-таки проблематично. Именно поэтому для предотвращения подобных атак предназначена аппаратная защита компьютера. Такая защита базируется на контроле всего цикла загрузки компьютера для предотвращения использования различных загрузочных дискет и реализуется в виде платы, подключаемой в свободный слот материнской платы компьютера. Её программная часть проводит аудит и выполняет функции разграничения доступа к определённым ресурсам.

Отрицательные аспекты и возможность обхода Программная часть: обход парольной защиты BIOS состоит в использовании программ, стирающих установки BIOS, или утилит изъятия паролей. В других случаях существует возможность отключения батарейки, что приводит к стиранию паролей BIOS. Изменить настройки BIOS можно, воспользовавшись программой восстановления. Аппаратная часть: следует учитывать тот факт, что с точки зрения реализации подобной аппаратной защиты, она сама не всегда защищена от ошибок в процессе обработки поступающей информации. Вероятно, многие системные администраторы сталкивались с ситуацией, когда разным устройствам присваиваются одинаковые адреса, что вызывает конфликт на аппаратном уровне и неработоспособность обоих конфликтующих устройств. В этом и заключается один из аспектов обхода такой защиты, методика которого состоит в эмуляции аппаратного конфликта, при котором отключается аппаратная часть защиты и эмулирующее устройство, и появляется возможность несанкционированного доступа к информации. В качестве эмулирующего устройства могут выступать различные сетевые карты, а также многие нестандартные платы. Возможные решения проблем и предупреждение взлома Первоочерёдной задачей в этом случае является создание замкнутой операционной среды компьютера, отключение в BIOS возможности загрузки компьютера с дискеты, удаление конфигурационных программ и программ декодирования, отладки и трассировки. Следует также произвести разграничение доступа и осуществить контроль запускаемых приложений даже несмотря на то, что этим занимается программная часть аппаратной защиты. Специальные защитные устройства уничтожения информации Решение проблемы безопасности хранения важной конфиденциальной информации было предложено также в виде специальных защитных устройств, назначением которых является удаление информации при попытке изъятия накопителя - форматирование; первоочередная задача в первый момент действия - уничтожение информации с начала каждого накопителя, где расположены таблицы разделов и размещения файлов. Остальное будет зависеть от времени, которое проработает устройство. По прошествию нескольких минут вся информация будет уничтожена и её практически невозможно восстановить. Вид устройств такого принципа действия представляет собой блок, монтируемый в отсек 3,5" дисковода и имеющий автономное питание. Такое устройство применимо к накопителям типа IDE и включается в разрыв шлейфа. Для идентификации хозяина применяются электронные ключи с длиной кода 48 бит (за 10 секунд на предъявление ключа подбор исключается), а датчики, при срабатывании которых происходит уничтожение информации, выбираются хозяином самостоятельно.

Шифрующие платы

Применение средств криптозащиты является ещё одним способом обеспечения сохранности информации, содержащейся на локальном компьютере. Невозможно использовать и модифицировать информацию в зашифрованных файлах и каталогах. В таком случае конфиденциальность содержащейся на носителе информации прямо пропорциональна стойкости алгоритма шифрования. Шифрующая плата вставляется в свободный слот расширения PCI или ISA на материнской плате компьютера и выполняет функцию шифрования данных. Плата позволяет шифровать каталоги и диски. Оптимальным является способ шифрования всего содержимого жесткого диска, включая загрузочные сектора, таблицы разбиения и таблицы размещения файловой системы. Ключи шифрования хранятся на отдельной дискете. Шифрующие платы гарантируют высокую степень защиты информации, но их применение значительно снижает скорость обработки данных. Существует вероятность аппаратного конфликта с другими устройствами.

3. Аппаратная защита сети

Введение

На сегодняшний день многие достаточно развитые компании и организации имеют внутреннюю локальную сеть. Развитие ЛВС прямо пропорционально росту компании, неотъемлемой частью жизненного цикла которой является подключение локальной сети к бескрайним просторам Интернета. Вместе с тем сеть Интернет неподконтрольна(в этом несложно убедиться), поэтому компании должны серьезно позаботиться о безопасности своих внутренних сетей. Подключаемые к WWW ЛВС в большинстве случаев очень уязвимы к неавторизированному доступу и внешним атакам без должной защиты. Такую защиту обеспечивает межсетевой экран (брандмауэр или firewall).

Брандмауэры

Брандмауэры существуют двух видов: программные и аппаратные. Однако помимо этого их делят ещё и на типы: брандмауэр сетевого уровня (фильтры пакетов) и прикладного уровня (шлюзы приложений). Фильтры пакетов более быстрые и гибкие, в отличие от брандмауэров прикладного уровня. Последние направляют специальному приложению-обрабочику все приходящие пакеты извне, что замедляет работу. Для программных брандмауэров необходим отдельный компьютер на базе традиционных операционных систем Unix либо Windows NT. Такой брандмауэр может служить единой точкой входа во внутреннюю сеть. Слабость и ненадёжность подобной защиты заключается не столько в возможных нарушениях корректной работы самого программного брандмауэра, сколько в уязвимости используемых операционных систем, на базе которых функционирует межсетевой экран. Аппаратные брандмауэры построены на базе специально разработанных для этой цели собственных операционных систем. Далее приступим к рассмотрению именно аппаратных брандмауэров. Правильная установка и конфигурация межсетевого экрана - первый шаг на пути к намеченной цели. Чтобы выполнить установку аппаратного брандмауэра нужно подключить его в сеть и произвести необходимое конфигурирование. В простейшем случае, брандмауэр - это устройство, предотвращающее доступ во внутреннюю сеть пользователей извне. Он не является отдельной компонентой, а представляет собой целую стратегию защиты ресурсов организации. Основная функция брандмауэра - централизация управления доступом. Он решает многие виды задач, но основными являются анализ пакетов, фильтрация и перенаправление трафика, аутентификация подключений, блокирование протоколов или содержимого, шифрование данных.

Методика построения защищённой сети и политика безопасности

В процессе конфигурирования брандмауэра следует пойти на компромиссы между удобством и безопасностью. До определённой степени межсетевые экраны должны быть прозрачными для внутренних пользователей сети и запрещать доступ других пользователей извне. Такая политика обеспечивает достаточно хорошую защиту. Важной задачей является защита сети изнутри. Для обеспечения хорошей функциональной защиты от внешней и внутренней угрозы, следует устанавливать несколько брандмауэров. Именно поэтому на сегодняшний день широкое распространение получили именно аппаратные межсетевые экраны. Довольно часто используется специальный сегмент внутренней сети, защищённый извне и изолированный от остальных, так называемая демилитаризованная зона (DMZ). Иногда брандмауэры разных типов объединяют. Различная конфигурация брандмауэров на основе нескольких архитектур обеспечит должный уровень безопасности для сети с разной степенью риска. Допустим, последовательное соединение брандмауэров сетевого и прикладного уровня в сети с высоким риском может оказаться наилучшим решением. Существует довольно-таки много решений относительно более-менее безопасных схем подключения брандмауэров для проектирования правильной защиты внутренней сети. В данном случае рассмотрены только самые оптимальные в отношении поставленной задачи виды подключений. Довольно часто подключение осуществляется через внешний маршрутизатор. В таком случае снаружи виден только брандмауэр, именно поэтому подобная схема наиболее предпочтительна с точки зрения безопасности ЛВС. Брандмауэр также может использоваться в качестве внешнего маршрутизатора. Программные брандмауэры создаются на базе последних и интегрируются в них. Это наиболее комплексное и быстрое решение, хотя и довольно дорогостоящее. Такой подход не зависит от типа операционной системы и приложений. В случае, когда сервера должны быть видимы снаружи, брандмауэром защищается только одна подсеть, подключаемая к маршрутизатору. Для повышения уровня безопасности интранета больших компаний возможно комбинированное использование брандмауэров и фильтрующих маршрутизаторов для обеспечения строгого управления доступом и проведения должного аудита сети. В подобных случаях используются такие методы, как экранирование хостов и подсетей.

Замечания

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

Несколько советов

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

Заключение

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

Сокращения

АЗ - аппаратная защита
НСД - несанкционированный доступ
ЛВС - локальная вычислительная сеть


HACK


Сервисный код для NOKIA 5120
NB: Используя эти коды вы соглашаетесь с тем, что ни я, ни автор текста не несут никакой ответственности за возможное повреждение телефона в результате применения этих кодов.

Получен в конференции Nokia на сервере ZOOM ВНИМАНИЕ: При определенных действиях в меню аппарат может быть приведен в нерабочее состояние с последующим перепрограммированием в офисе оператора, причем за деньги вне зависимости от наличия гарантии.Ни я, ни кто либо другой не несут ответственности за приведение телефона в нерабочее состояние изменением конфигурации телефона посредством этого меню.

Для доступа к сервисному меню аппарата необходимо набрать *3001#xxxxx#, где xxxxx - защитный код (security code), который по умолчанию равен 12345. Таким образом, чтобы войти в меню нужно будет набрать *3001#12345# В этом режиме, например, можно изменить название оператора сети, отображаемое в режиме ожидания. Для этого нужно выбрать NAM1, пролистать до подпункта Alpha Tag, изменить его по желанию (например, написать Vovochka и нажать ОК. Выход из режима производится выключением и включением телефона.

Возможно, что этот код работоспособен и на других моделях телефонов (51хх, 61хх).


SMS в двух словах
Глава 1 От авторов. Этой статьей мы открываем цикл, посвящённый сервису SMS, набирающему сейчас всё большую популярность. Основной причиной, побудившей нас взяться за их написание, явилась необходимость просуммировать «для себя» опыт общения с различными SMS протоколами, накопленный при разработке различных же приложений. В процессе написания небольшие заметки «на полях», стали принимать вид достаточно развернутых статей, которые хотелось бы систематизировать, для того, чтобы они пригодились и еще кому-то. Таким образом, на данные статьи предлагается смотреть, как на мини-howto, которое позволит сориентироваться изучающему данный вопрос. Основной трудностью, с которой мы столкнулись «на старте» стала, как ни странно, труднодоступность простой для понимания информации по данному вопросу. Т. е. не то чтобы её не было, а её слишком много и она разного качества: нам не попадалось документа, который внятно бы, step-by-step, показывал, как например, написать приложение с возможностью посылки и приёма SMS. Попытаемся восполнить этот пробел, не претендуя на всеохватность изложения.

Глава 2 SMS Basics
2.1 Что такое SMS? SMS (Short Messages Service) — услуга, предоставляемая операторами цифровых стандартов мобильной связи (GSM, CDMA, DAMPS), заключающаяся в отправке коротких текстовых (и не только) сообщений на мобильный телефон, называемый также Mobile Terminal (MT) или Mobile Station (MS). В силу некоторой специфики, данный сервис не приобрёл в России такой же популярности, как на западе, однако, постепенно начинает ее завоевывать. Причина «западной» популярности сервиса проста: его дешевизна по сравнению с голосовыми переговорами, а также то, что обмен короткими сообщениями хорошо поддается автоматизации. Вообще, с точки зрения SMS, сотовый телефон можно рассматривать, как двусторонний пейджер, с одним большим преимуществом: сообщение будет обязательно доставлено (как говорят «доведено»), вне зависимости, находится ли абонент в зоне приема в момент его отправки (а точнее будут предприниматься попытки его доведения до тех пор, пока не истечет его «срок годности», validity period). А длины в 160 символов обычно достаточно, чтобы сказать что-нибудь типа «Я выезжаю» или «Свяжись со мной по телефону 02».

2.2 Причём здесь программирование? Резонный вопрос, ведь написание софта для «мобильников» не самая распространенная область программистской деятельности. Но вся штука в том, что большинство (а скорее всего — все) операторов предоставляют возможность обмена короткими сообщениями между MT и внешними, по отношению к мобильной сети (PLMN – Private Local Mobile Network) устройствами, т. н. ESME (External Short Messages Entity), в качестве которого может выступать любое ПО, поддерживающее определенный протокол. Делается это с помощью определенных устройств, называемых SMSC (Short Messages Service Center), одним «концом» подключенных к PLMN, а другим — в сеть общего назначения, например TCP/IP (Internet). Вот как это выглядит:

Не обращайте пока внимание на аббревиатуру SMPP (к ней мы вернемся чуть позже), а вместо неё читайте «некоторый протокол для связи с SMSC». Хорошим примером ESME является последняя версия ICQ. Что? Уже кидали «мессаги» подружке на трубку? Так не пора ли теперь разобраться, как все это устроено?

2.3 Протоколы SMS.
Вот тут мы затронули достаточно скользкую тему. Дело в том, что хоть они и называются «протоколами», таковыми они на деле не являются: это отраслевые рекомендации разработчиков SMSC, которых довольно много. И если в части передачи сообщений по мобильным сетям особых разногласий не наблюдается: работает «настоящий» протокол SS7 (Signaling System Seven, тема для отдельного большого разговора), то в части доведения сообщений от ESME до SMSC каждый разработчик придумывает свой «протокол»; единственное требование к разработчику: публикация спецификаций. Упомянем самые популярные протоколы, кратко перечислив их отличительные черты.

2.3.1 SMPP
SMPP (Short Messages Peer-to-Peer) является, видимо, самым распространенным протоколом и разрабатывается SMPP Developers Forum (ничего общего с Open Source, просто организация такая). Один из, на наш взгляд, самых удобных протоколов, много возможностей, достаточно хорошо проработан. SMPP предлагает бинарную кодировку пакетов (впрочем, к этому мы еще вернемся). Используется многими операторами, в т. ч. British Telecom.

2.3.2 EMI
Протокол EMI (External Machine Interface) продвигает ETSI (кажется расшифровывается как European Telecommunication Standards Institute). Предлагает текстовую кодировку пакетов, также имеет развернутые возможности, но, на наш взгляд, неэстетичен. В различных диалектах используется многими провайдерами, точно — Swisscom'ом, и, вроде как, — NWGSM'ом.

2.3.3 SMS2000 aka SEMA
Тяжёлый протокол, разрабатывается SEMA Group. Однако, возможности большие. Предлагает на выбор бинарную, шестнадцатиричную и IA5 кодировку пакетов. Используется Vodafone. Оставляет неприятные воспоминания.

2.3.4 CIMD
Тоже протокол... Напоминает EMI... ;)

2.4 Общий знаменатель.
Несмотря на такое изобилие, суть работы всех протоколов сводится, что очевидно, к нескольким простым функциям (смотрим со стороны ESME):

Организация соединения с SMSC
Отправка сообщений в PLMN
Прием сообщений из PLMN
Прием подтверждений доставки (delivery receipts)
2.4.1 Установка связи
Фактически, порядок работы следующий: соединяемся с SMSC и, поверх сетевого протокола, начинаем слать пакеты (называемые часто «командами» или «операциями») в формате выбранного нами SMS-протокола. Для простоты, будем опираться на самый распространенный случай, связь по TCP/IP, хотя многие модели SMSC поддерживают связь через, например, X.25 или PSTNA, а SMS-протоколы абстрагированы, насколько возможно, от деталей установки соединения.

2.4.2 Транзакционный механизм Для того, чтобы предоставить гарантию доставки, все SMS-протоколы используют транзакционный механизм, а проще говоря, подтверждения для каждой, испущенной (invoke) любой из сторон, команды. Получив команду, участник обмена (SMSC или ESME) обязан ответить на неё специальным пакетом, называемым в разных протоколах по-разному: response, result или ACK (от acknowledgement). Мы будем называть такие пакеты ACK (опять же, чтобы не путаться в терминах). Различают два типа ACK'ов: собственно ACK — положительный ответ и NACK — отрицательный (negative) ответ. NACK кроме указания на тот факт, что приключилась ошибка, передает еще и её код, прописанный в спецификации протокола. Вот как это выглядит в графике:

И в обратную сторону:

Каждая транзакция нумеруется инициирующей стороной, принимающая сторона использует переданный ей номер в ACK'е. Правила нумерации обычно свободные, указывается только диапазон допустимых номеров, для каждого протокола он, естественно, разный. Однако открытие двух транзакций с одним номером в рамках одной сессии, как правило, недопустимо. В случае неприхода ACK'а за определенное время (настраиваемое как на SMSC, так и на ESME) команда считается неуспешной и, в зависимости от логики работы, повторяется. Если противоположная сторона продолжает «молчать» в ответ на испущенные команды, соединение обычно разрывается.

Глава 3 Итоги
Теперь мы знаем о предмете достаточно, чтобы сформулировать задачи требующие решения для написания ESME клиента. Необходимо:

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


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

Чтобы лучше понять проблемы, связанные с использованием беспроводных средств связи, давайте вспомним, что эти средства из себя представляют и как работают. Современные беспроводные средства персональной связи включают в себя мобильные телефоны сотовой связи, пейджеры и беспроводные стационарные радиотелефоны. Мобильные телефоны сотовой связи фактически являются сложной миниатюрной приемо-передающей радиостанцией. Каждому сотовому телефонному аппарату присваивается свой электронный серийный номер (ESN), который кодируется в микрочипе телефона при его изготовлении и сообщается изготовителями аппаратуры специалистам, осуществляющим его обслуживание. Кроме того, некоторые изготовители указывают этот номер в руководстве для пользователя. При подключении аппарата к сотовой системе связи техники компании, предоставляющей услуги этой связи, дополнительно заносят в микрочип телефона еще и мобильный идентификационный номер (MIN). Мобильный сотовый телефон имеет большую, а иногда и неограниченную дальность действия, которую обеспечивает сотовая структура зон связи. Вся территория, обслуживаемая сотовой системой связи, разделена на отдельные прилегающие друг к другу зоны связи или гсотыё. Телефонный обмен в каждой такой зоне управляется базовой станцией, способной принимать и передавать сигналы на большом количестве радиочастот. Кроме того, эта станция подключена к обычной проводной телефонной сети и оснащена аппаратурой преобразования высокочастотного сигнала сотового телефона в низкочастотный сигнал проводного телефона и наоборот, чем обеспечивается сопряжение обеих систем. Периодически (с интервалом 30-60 минут) базовая станция излучает служебный сигнал. Приняв его, мобильный телефон автоматически добавляет к нему свои MIN- и ESN-номера и передает получившуюся кодовую комбинацию на базовую станцию. В результате этого осуществляется идентификация конкретного сотового телефона, номера счета его владельца и привязка аппарата к определенной зоне, в которой он находится в данный момент времени. Когда пользователь звонит по своему телефону, базовая станция выделяет ему одну из свободных частот той зоны, в которой он находится, вносит соответствующие изменения в его счет и передает его вызов по назначению. Если мобильный пользователь во время разговора перемещается из одной зоны связи в другую, базовая станция покидаемой зоны автоматически переводит сигнал на свободную частоту новой зоны. Пейджеры представляют собой мобильные радиоприемники с устройством регистрации сообщений в буквенном, цифровом или смешанном представлении, работающие, в основном, в диапазоне 100-400 МГц. Система пейджинговой связи принимает сообщение от телефонного абонента, кодирует его в нужный формат и передает на пейджер вызываемого абонента. Стационарный беспроводный радиотелефон объединяет в себе обычный проводный телефон, представленный самим аппаратом, подключенным к телефонной сети, и приемо-передающее радиоустройство в виде телефонной трубки, обеспечивающей двусторонний обмен сигналами с базовым аппаратом. В зависимости от типа радиотелефона, дальность связи между трубкой и аппаратом, с учетом наличия помех и переотражающих поверхностей, составляет в среднем до 50 метров. Проблема безопасности при пользовании сотовым телефоном и другими мобильными средствами персональной беспроводной связи имеет два аспекта: физическая безопасность пользователя и безопасность информации, передаваемой с помощью этих устройств. Здесь сразу следует оговориться, что угрозу физической безопасности создает только мобильный сотовый телефон, так как пейджеры и стационарные радиотелефоны являются неизлучающими или слабо излучающими устройствами и характеризуются отличными от сотовых телефонов условиями и порядком пользования.

Проблема защиты информации
Вы, наверное, не раз слышали рекламу компаний, предоставляющих услуги сотовой связи: гНадежная связь по доступной цене!ё. Давайте проанализируем, действительно ли она так уж надежна. С технической точки зрения + да. А с точки зрения безопасности передаваемой информации? В настоящее время электронный перехват разговоров, ведущихся по сотовому или беспроводному радиотелефону, стал широко распространенным явлением. Так, например, в Канаде, по статистическим данным, от 20 до 80% радиообмена, ведущегося с помощью сотовых телефонов, случайно или преднамеренно прослушивается посторонними лицами. Электронный перехват сотовой связи не только легко осуществить, он, к тому же, не требует больших затрат на аппаратуру, и его почти невозможно обнаружить. На Западе прослушивание и/или запись разговоров, ведущихся с помощью беспроводных средств связи, практикуют правоохранительные органы, частные детективы, промышленные шпионы, редставители прессы, телефонные компании, компьютерные хакеры и т.п. В западных странах уже давно известно, что мобильные сотовые телефоны, особенно аналоговые, являются самыми уязвимыми с точки зрения защиты передаваемой информации. Принцип передачи информации такими устройствами основан на излучении в эфир радиосигнала, поэтому любой человек, настроив соответствующее радиоприемное устройство на ту же частоту, может услышать каждое ваше слово. Для этого даже не нужно иметь особо сложной аппаратуры. Разговор, ведущийся с сотового телефона, может быть прослушан с помощью продающихся на Западе программируемых сканнеров с полосой приема 30 кГц, способных осуществлять поиск в диапазоне 860-890 МГц. Для этой же цели можно использовать и обычные сканнеры после их небольшой модификации, которая, кстати, весьма подробно описана в Интернете. Перехватить разговор можно даже путем медленной перестройки УКВ-тюнера в телевизорах старых моделей в верхней полосе телевизионных каналов (от 67 до 69), а иногда и с помощью обычного радиотюнера. Наконец, такой перехват можно осуществить с помощью ПК. Легче всего перехватываются неподвижные или стационарные сотовые телефоны, труднее + мобильные, так как перемещение абонента в процессе разговора сопровождается снижением мощности сигнала и переходом на другие частоты в случае передачи сигнала с одной базовой станции на другую. Более совершенны с точки зрения защиты информации цифровые сотовые телефоны, передающие информацию в виде цифрового кода. Однако, используемый в них алгоритм шифрования Cellular Message Encryption Algorithm (CMEA) может быть вскрыт опытным специалистом в течение нескольких минут с помощью персонального компьютера. Что касается цифровых кодов, набираемых на клавиатуре цифрового сотового телефона (телефонные номера, номера кредитных карточек или персональные идентификационные номера PIN), то они могут быть легко перехвачены с помощью того же цифрового сканнера. Не менее уязвимыми с точки зрения безопасности информации являются беспроводные радиотелефоны. Они при работе используют две радиочастоты: одну + для передачи сигнала от аппарата к трубке (на ней прослушиваются оба абонента), другую + от трубки к аппарату (на ней прослушивается только абонент, говорящий в эту трубку). Наличие двух частот еще больше расширяет возможности для перехвата. Перехват радиотелефона можно осуществить с помощью другого радиотелефона, работающего на тех же частотах, радиоприемника или сканнера, работающих в диапазоне 46-50МГц. Дальность перехвата, в зависимости от конкретных условий, составляет в среднем до 400 метров, а при использовании дополнительной дипольной антенны диапазона 46-49МГц + до 1,5 км. Следует отметить, что такие часто рекламируемые возможности беспроводного телефона, как гцифровой код безопасностиё (digital security code) и гснижение уровня помехё (interference reduction), нисколько не предотвращают возможность перехвата разговоров. Они только препятствуют несанкционированному использованию этого телефона и не дают соседствующим радиотелефонам звонить одновременно.Сложнее перехватить цифровые радиотелефоны, которые могут использовать при работе от 10 до 30 частот с автоматической их сменой. Однако и их перехват не представляет особой трудности при наличии радиосканнера. Такими же уязвимыми в отношении безопасности передаваемой информации являются и пейджеры. В большинстве своем они используют протокол POSCAG, который практически не обеспечивает защиты от перехвата. Сообщения в пейджинговой системе связи могут перехватываться радиоприемниками или сканнерами, оборудованными устройствами, способными декодировать коды ASCII, Baudot, CTCSS, POCSAG and GOLAY. Существует также целый ряд программных средств, которые позволяют ПК в сочетании со сканнером автоматически захватывать рабочую частоту нужного пейджера или контролировать весь обмен в конкретном канале пейджинговой связи. Эти программы предусматривают возможность перехвата до 5000 (!) пейджеров одновременно и хранение всей переданной на них информации.

Мошенничество
Мошенничество в сотовых системах связи, известное еще под названием гклонированиеё, основано на том, что абонент использует чужой идентификационный номер (а, следовательно, и счет) в корыстных интересах. В связи с развитием быстродействующих цифровых сотовых технологий, способы мошенничества становятся все более изощренными, но общая схема их такова: мошенники перехватывают с помощью сканнеров идентифицирующий сигнал чужого телефона, которым он отвечает на запрос базовой станции, выделяют из него идентификационные номера MIN и ESN и перепрограммируют этими номерами микрочип своего телефона. В результате, стоимость разговора с этого аппарата заносится базовой станцией на счет того абонента, у которого эти номера были украдены. Например, в больших городах Запада, чаще всего в аэропортах, работают мошенники, которые, клонировав ESN-номер чьего-либо мобильного телефона, предоставляют за плату возможность другим людям звонить с этого телефона в отдаленные страны за счет того, чей номер выкрали. Кража номеров осуществляется, как правило, в деловых районах и в местах скопления большого количества людей: шоссе, дорожные пробки, парки, аэропорты, + с помощью очень легкого, малогабаритного, автоматического оборудования. Выбрав удобное место и включив свою аппаратуру, мошенник может за короткий промежуток времени наполнить память своего устройства большим количеством номеров. Наиболее опасным устройством является так называемый сотовый кэш-бокс, представляющий собой комбинацию сканнера, компьютера и сотового телефона. Он легко выявляет и запоминает номера MIN и ESN и автоматически перепрограммирует себя на них. Использовав пару MIN/ESN один раз, он стирает ее из памяти и выбирает другую. Такой аппарат делает выявление мошенничества практически невозможным. Несмотря на то, что эта аппаратура на Западе пока еще редка и дорога, она уже существует и представляет растущую опасность для пользователей сотовой связи.

Выявление местоположения абонента
Оставим в стороне такую очевидную возможность, как выявление адреса абонента сотовой системы связи через компанию, предоставляющую ему эти услуги. Немногие знают, что наличие мобильного сотового телефона позволяет определить как текущее местоположение его владельца, так и проследить его перемещения в прошлом. Текущее положение может выявляться двумя способами. Первым из них является обычный метод триангуляции (пеленгования), определяющий направление на работающий передатчик из нескольких (обычно трех) точек и дающий засечку местоположения источника радиосигналов. Необходимая для этого аппаратура хорошо разработана, обладает высокой точностью и вполне доступна. Второй метод + через компьютер предоставляющей связь компании, который постоянно регистрирует, где находится тот или иной абонент в данный момент времени даже в том случае, когда он не ведет никаких разговоров (по идентифицирующим служебным сигналам, автоматически передаваемым телефоном на базовую станцию, о которых мы говорили выше). Точность определения местонахождения абонента в этом случае зависит от целого ряда факторов: топографии местности, наличия помех и переотражений от зданий, положения базовых станций, количества работающих в настоящий момент телефонов в данной соте. Большое значение имеет и размер соты, в которой находится абонент, поэтому точность определения его положения в городе гораздо выше, чем в сельской местности (размер соты в городе составляет около 1 кв.км против 50-70 кв.км на открытой местности) и, по имеющимся данным, составляет несколько сот метров. Наконец, анализ данных о сеансах связи абонента с различными базовыми станциями (через какую и на какую базовую станцию передавался вызов, дата вызова и т.п.) позволяет восстановить все перемещения абонента в прошлом. Такие данные автоматически регистрируются в компьютерах компаний, предоставляющих услуги сотовой связи, поскольку оплата этих услуг основана на длительности использования системы связи. В зависимости от фирмы, услугами которой пользуется абонент, эти данные могут храниться от 60 дней до 7 лет. Такой метод восстановления картины перемещений абонента очень широко применяется полицией многих западных стран при расследованиях, поскольку дает возможность восстановить с точностью до минут, где был подозреваемый, с кем встречался (если у второго тоже был сотовый телефон), где и как долго происходила встреча или был ли подозреваемый поблизости от места преступления в момент его совершения.

Некоторые рекомендации
Проблема безопасности при использовании современных беспроводных средств связи достаточно серьезна, но, используя здравый смысл и известные приемы противодействия, ее можно, в той или иной степени, решить. Не будем затрагивать тех мер, которые могут предпринять только провайдеры связи (например, введение цифровых систем). Поговорим о том, что можете сделать вы сами.
Для предотвращения перехвата информации:
L используйте общепринятые меры по предупреждению раскрытия информации: избегайте или сведите к минимуму передачу конфиденциальной информации, такой как номера кредитных карточек, финансовые вопросы, пароли. Прибегайте в этих целях к более надежным проводным телефонам, убедившись, однако, что ваш собеседник не использует в этот момент радиотелефон. Не используйте сотовые или беспроводные телефоны для ведения деловых разговоров;
L помните, что труднее перехватить разговор, который ведется с движущегося автомобиля, т.к. расстояние между ним и перехватывающей аппаратурой (если та находится не в автомобиле) увеличивается и сигнал ослабевает. Кроме того, при этом ваш сигнал переводится с одной базовой станции на другую с одновременной сменой рабочей частоты, что не позволяет перехватить весь разговор целиком, поскольку для нахождения этой новой частоты требуется время;
L используйте системы связи, в которых данные передаются с большой скоростью при частой автоматической смене частот в течение разговора;
L используйте, при возможности, цифровые сотовые телефоны;
L отключите полностью свой сотовый телефон, если не хотите, чтобы ваше местоположение стало кому-то известно.
В случае использования беспроводного радиотелефона:
L при покупке выясните, какую защиту он предусматривает;
L используйте радиотелефоны с автоматической сменой рабочих частот типа гspread spectrumё или цифровые, работающие на частотах порядка 900 МГц;
L при возможности, используйте радиотелефоны со встроенным чипом для шифрования сигнала.
Для предотвращения мошенничества:
L узнайте у фирмы-производителя, какие средства против мошенничества интегрированы в ваш аппарат;
L держите документы с ESN-номером вашего телефона в надежном месте;
L ежемесячно и тщательно проверяйте счета на пользование сотовой связью;
L в случае кражи или пропажи вашего сотового телефона сразу предупредите фирму, предоставляющую вам услуги сотовой связи;
L держите телефон отключенным до того момента, пока вы не решили им воспользоваться. Этот способ самый легкий и дешевый, но следует помнить, что для опытного специалиста достаточно одного вашего выхода на связь, чтобы выявить MIN/ESN номера вашего аппарата;
L регулярно меняйте через компанию, предоставляющую вам услуги сотовой связи, MIN-номер вашего аппарата. Этот способ несколько сложнее предыдущего и требует времени;
L попросите компанию, предоставляющую вам услуги сотовой связи, установить для вашего телефона дополнительный 4-х значный PIN-код, набираемый перед разговором. Этот код затрудняет деятельность мошенников, так как они обычно перехватывают только MIN и ESN номера, но, к сожалению, небольшая модификация аппаратуры перехвата позволяет выявить и его;
L наиболее эффективным методом противодействия является шифрование MIN/ESN номера (вместе с голосовым сигналом) по случайному закону. Но этот метод дорог и пока малодоступен.


Как смотреть НТВ+ и другие каналы
Спутниковое телевидение существует как бесплатное, так и коммерческое, для просмотра которого надо платить телекомпании абонентскую плату. Для того чтобы обеспечить сбор абонентской платы, телекомпании кодируют свой сигнал, то есть делают не возможным просмотр его без специального декодера. Телекомпания НТВ+ использует Французскую систему кодирования Nagravision-Syster,в которой используется перемешивание строк по особому алгоритму, в соответствии с таблицей перестановки строк. На рисунке видно, как выглядит изображение, если его попытаться смотреть без декодера. Кроме того, применяется инверсия спектра звукового сопровождения частой 12,8 кГц, что очень сильно искажает звук, делая не возможным его прослушивание. Вдобавок ко всему, для разграничения доступа оплативших и не оплативших подписку абонентов, применяется система адресного кодирования - то есть телекомпания имеет возможность сигналом со спутника избирательно выключать декодеры не оплативших абонентов. Достигается это тем, что у подписчиков имеются индивидуальные ключи, представляющие собой микросхему памяти, в которой содержится индивидуальный код, а так же обновляемая через спутник информация о состоянии подписки. Эту же систему кодирования применяют телекомпании Германии, Франции, Польши, а так же ряда других стран. Существуют и другие системы кодирования, такие как D2MAC, Videocript, и т.д. но в этой статье мы их описывать не будем. Не смотря на то, что этой системе уже более десяти лет, протокол обмена данными между ключом и декодером телевизионными пиратами изучен мало (наверно просто это было ни кому не нужно), о работающих эмуляторах ключей пока не слышно.

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

Но недавно появилась возможность смотреть НТВ+ и другие каналы кодированные в Nagravision-Syster с помощью персонального компьютера, используя тот же принцип, что и у пиратского декодера, но реализуя его с помощью специальной программы. Этот способ получил общее название PC-TV. PC-TV позволяет смотреть все каналы, кодированные в Nagravision (смотри таблицу).

Что нужно для просмотра кодированных каналов таким способом?

Во-первых, нужен настроенный комплект спутникового телевидения, состоящий как минимум из антенны (тарелки), конвертера и ресивера. Эта система должна обеспечивать уверенный при|м тех кодированных каналов, которые вы хотите смотреть. Для случая с НТВ+ достаточно иметь родной "НТВшный" комплект с "тарелкой" того диаметра, который достаточен для при|ма сигнала в вашей местности, можно без оригинального декодера.

Во вторых, нужен достаточно мощный IBM совместимый персональный компьютер, минимум - P-166MMX, 32Mb RAM, видеоадаптер PCI 4Mb, желательно P-II с как можно большей тактовой частотой и оперативной памятью 64Mb. Объ|м и скорость ж|сткого диска, а так же другие параметры, существенно не влияют.

В третьих, для ввода изображения в компьютер, нужна карта видеовхода, построенная на одном из следующих чипов - BT848, BT849, BT878, BT879. Сейчас таких карт выпускается достаточно много, разными фирмами, под разными названиями, на пример: MiroPCTV, AverMedia различных модефикаций, Fly Video(наверно самый дешевый вариант), MR Vision TV Link, ТЕЛЕМАСТЕР. Продолжать список можно ещ|, но нет смысла - подойд|т любая карта, лишь бы она была сделана на чипе серии BT8XX. Карты отличаются друг от друга наличием и качеством встроенного TV тюнера для просмотра обычных эфирных телеканалов, наличием дистанционного управления тюнером, количеством видеовходов -1 или 2, качеством и удобством прилагаемого к ней софта и некоторыми другими наворотами, которые ни каким образом не связаны с нашей задачей, так как в данном случае требуется только видеовход. В последнее время стали появляться версии программ для видеоадаптеров на чипе ATI c видеовходом (без BT8XX), но так как у меня такой карты нет, то я их не тестировал и ничего про них сказать не могу.

На сегодняшний день написано несколько программ - декодеров, которые совершенствовались их авторами (и не только авторами, потому, что почти все они публиковались вместе с исходными текстами) и имеют каждая по несколько версий. У каждой программы есть свои достоинства и недостатки, и стоит попробовать их все, чтобы сделать для себя выбор. Лично мне более других понравилась MoreTV 3.10 - на мой взгляд, это наиболее удачная программа, которая позволяет смотреть каналы как в стандарте PAL, так и SECAM (НТВ+). У не| реализовано автоматическое включение-выключение декодирования при переходе от кодированных к не кодированным каналам, прямое взаимодействие с картой видео-ввода (достаточно установить драйвер карты, софт можно не ставить, программа сама настраивает карту), имеются удобные оперативные регулировки с помощью горячих клавиш, достаточно легка в настройке. К недостаткам данной программы можно отнести не очень хорошую чистоту цвета в режиме SECAM (хотя у некоторых других программ при просмотре SECAM цвет вообще отсутствует), и интерфейс на немецком языке. Надо учесть, что для видеоадаптеров с видеовходом на чипе ATI, должна быть специальная версия программы- MoreATI-TV.

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

Теперь можно приступить к установке и настройке программы - декодера. Программы в основном не требуют инсталляции и достаточно просто распаковать архив в любую директорию, желательно в корневом каталоге вашего жесткого диска. В дальнейшем речь пойд|т о настройках программы MoreTV 3.10 - если вы е| сумеете запустить, то и с остальными программами вы сумеете разобраться сами. Первым делом скопируйте в каталог с программой файл Key.txt предназначенный для НТВ+, если вы настроили ресивер для его при|ма. Учтите, что Key.txt для НТВ+ и для других каналов разные! Не забудьте переименовать файл Key2.txt (извлеченный из архива) в Key.txt (без цифры) и запустите программу.

На экране появится окно настроек программы. В рамке "Video" установите для начала разрешение 640х480YUY2 и поставьте флажок SECAM. В рамке "Hardware" выберите из списка вашу карту (если е| нет в списке, сильно не расстраивайтесь, выберите любую другую, лишь бы на таком же чипе как у вас) марку тюнера можно не устанавливать - он нужен только при при|ме кодированных каналов с эфирной антенны, PLL для начала лучше не включать. В рамке "Dekodierung" установите количество тестовых строк равным 30 и сохраните настройки (средняя кнопка). Теперь можно запускать собственно программу (верхняя кнопка). Первый запуск программы может продлиться несколько дольше чем обычно (в это время программа созда|т в сво|м каталоге индексный файл с именем MoreTV_XX.idx, где ХХ - количество тестовых строк), в дальнейшем программа будет запускаться практически мгновенно. Вы должны увидеть на экране декодированное изображение. Если экран останется синим, проверьте все соединения, а если у вашей карты два входа, попробуйте подать сигнал на другой вход. Если изображение есть, но не декодированное, проверьте тот ли Key.txt вы используете (если открыть его блокнотом, он должен начинаться так : 0 1 2 3 4 5 6 7 2 5 4 7 8 9 10 11 14 17 16 19 22 25). Если вс| заработало, попробуйте поэкспериментировать с настройками программы для достижения лучшего качества изображения.

"Горячие клавиши" программы:

Esc - стоп кадр, F1 - восстановление после стоп кадра, F2 - включение декодера (включен / выключен / авто), F3 - F8 - изменение формата и размера декодируемого изображения, F10 - выход из программы, F11 - Турбо / стандартный декодер, F12 - синхронизация по фазе, Insert - контрастность + , Delet - контрастность - , Home - насыщенность + , End - насыщенность - , PgUp - яркость + , PgDn - яркость -, остальные клавиши предназначены для настройки и переключения каналов встроенного TV тюнера, и для нас значения не имеют.

Программа MoreTV не имеет встроенного декодера звука, и поэтому декодирование звука - тема отдельного разговора. На сегодняшний день есть три способа прослушивания звукового сопровождения. Способ первый, самый простой, и самый худший. Скачайте одну из программ - аудио-декодеров (лично мне больше нравится DCPlus), соедините выход звука ресивера с линейным входом звуковой карты вашего компьютера, в настройках стандартного регулятора громкости Windows включите линейный вход на запись, и обязательно выключите на воспроизведении (чтобы предотвратить проникновение кодированного звука непосредственно со входа на выход без обработки программой). Запустите программу с установками по умолчанию, и звук должен заработать. Качество звука регулируется настройками программы. Не забудьте, что для этого ваша звуковая карта обязательно должна поддерживать Full Duplex - то есть одновременную запись и воспроизведение звука, и эта опция должна быть активизирована в настройках звуковой карты (установить флажок "разрешить двунаправленную работу"). Кроме того, одновременная работа программ аудио и видео декодеров возможна только на достаточно быстрых машинах, а если конфигурация вашего компьютера соответствует только минимальным требованиям, то этот способ для вас непригоден (в зависимости от используемой программы и е| настройки будет "заикаться" звук, либо срываться картинка). Второй способ подойдет тем, у кого есть оригинальный декодер с неоплаченным ключом и кто не боится держать в руках паяльник. Аккуратно вскройте декодер, найдите микросхему с надписью EURO@DEC 5096 ELEXC7397A. Отпаяйте сопротивление от седьмой ноги микросхемы и подайте на эту ногу микросхемы логическую единицу (+5В) через сопротивление1-10к (найдите напряжение +5В с помощью тестера по цепям питания). Соблюдайте осторожность, так как на плате декодера присутствует высокое напряжение!!! Ошибка в ваших действиях может привести к серьезной поломке декодера!!! После этой переделки декодер открывает звук и без оплаты. Третий способ годится для опытных радиолюбителей. Соберите самодельный декодер по привед|нной схеме. Этот способ наиболее сложен, но наверно самый лучший, так как не требует наличия оригинального декодера, не занимает ресурсы компьютера, звук не запаздывает по отношению к видео как в программных декодерах.

После того, как у вас все| получилось, возможно вам захочется вывести изображение на телевизор. Для этого ваш видеоадаптер должен иметь TV-OUT. Практически все современные модели видеоадаптеров имеют модификации с выходом на телевизор. Это видеоадаптеры на таких чипах как: RIVA TNT, RIVA 128, ATI, INTEL 740, S3 VIRGE GX2, а так же некоторые другие. Телевизор подключается к выходу видеоадаптера (чаще всего это обычный "тюльпан") кабелем, аналогичным тому, которым вы подавали сигнал на вход карты видеовхода. Настраивается адаптер в соответствии с руководством пользователя, прилагаемого к нему. Надо заметить, что практически все видеоадаптеры "усекают" или "поджимают" изображение по вертикали примерно на 5-10%. Это связано с несоответствием количества строк в телевизионном стандарте и изображении формируемом видеоадаптером. Существуют специальные дополнительные карты-TV OUT которые преобразуют стандартное SVGA изображение, формируемое любым видеоадаптером в полноценный сигнал формата PAL, но я встречал о них информацию только в интернете, и пока не разу не видел их в продаже.

Часто задают вопрос - часто ли телекомпании меняют код, и отличается ли он на разных каналах одного пакета программ? Здесь можно пояснить, что программные декодеры не требуют никаких кодов, они их подбирают "на ходу" методом сравнения соседних строк. В алгоритме декодирования используется только таблица перестановки строк (файл Key.txt) одна для всех каналов НТВ+. В оригинальных декодерах эта таблица содержится в программе-прошивке центрального процессора, т.е. программируется однократно при изготовлении декодера. Соответственно сменить эту таблицу можно, только заменив все декодеры у официальных подписчиков (именно декодеры, а не ключи), что в наших условиях практически не реально.

Иногда задают вопрос - можно ли все-таки сделать аппаратный декодер, то есть обойтись без компьютера? В принципе это возможно, на сайте www.eurosat.com/salp описан декодер, декодирующий все французские каналы. Так как PC TV с ключом Key.txt подходящим для НТВ+ открывает французские каналы, логично предположить, что данный аппаратный декодер будет открывать и НТВ+, однако я не знаю случаев, чтобы это кто-то проверил на практике. Изготовление данного декодера технологически сложно и может обойтись не в одну сотню долларов, а так же нет никакой гарантии в успехе этого предприятия и поэтому на сегодняшний день наиболее простым способом просмотра каналов кодированных в Nagravision является PC TV.


Мобильная безопастность
Виды мошенничества

Мошенничество (fraud) - неправомочный и преднамеренный доступ абонента к услугам связи с целью личной или коллективной выгоды.

Мошеннический доступ (access fraud) - несанкционированное использование услуг связи путем перепрограммирования серийных (ESN, Electronic Serial Number) или (MIN, Mobile Identification Number) идентификационных номеров сотовых телефонов.

Мошенничество с украденным телефоном (stolen phone fraud) - использование украденного или потерянного сотового телефона.

Контрактное мошенничество (subscription fraud) - преднамеренное указание неверных данных при заключении контракта или невыполнение абонентом контрактных условий оплаты.

Хакерское мошенничество (hacking fraud) - проникновение хакеров в компьютерную систему защиты для удаления механизмов защиты или переконфигурации системы в своих целях.

Техническое мошенничество (technical fraud) - неправомочное изготовление (клонирование) телефонных трубок или платежных телефонных карт с фальшивыми идентификаторами абонентов, номеров и платежных отметок.

Процедурное мошенничество (procedural fraud) - неправомочное использование роуминга и других бизнес-процедур (например, биллинга) с целью уменьшения оплаты услуг связи.

Новые средства защиты в сетях 3-го поколения

С сентября 1995 г. по январь 1999 г. рядом компаний (Vodafone, Siemens, Panafon, Swisscom и др.) разрабатывался совместный проект ASPeCT (Advanced Security for Personal Communication Technologies - Усовершенствованные средства защиты для персональной связи). В проекте ASPeCT исследовались решения для следующих пяти основных задач:

a.. обеспечение высоконадежной защиты при переходе действующих мобильных систем к UMTS;
b.. разработка эффективных средств обнаружения мошенничества в UMTS;
c.. реализация конфигурации "доверительной третьей стороны" для конечных услуг UMTS;
d.. новые возможности для будущей UMTS;
e.. защита и целостность биллинговых операций UMTS.
Результаты, полученные в проекте ASPeCT, имеют важное практическое значение для трех областей:

a.. аутентификация абонентов и новый модуль защиты;
b.. защита платежей в мобильных сетях;
c.. обнаружение мошенничества в мобильных системах.
Проблема аутентификации. В проекте ASPeCT разработан новый протокол аутентификации абонентов, реализуемый в смарт-картах на базе криптоалгоритмов двух типов: а) высоконадежного и требующего для своей реализации отдельных сопроцессоров; б) простого алгоритма с использованием эллиптических кривых. Планируется также применять в UMTS биометрические алгоритмы идентификации пользователей по их речевым образам.

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

Набор защитных механизмов определяется в Классе возможных аутентификаций ACC (Authentification Capability Class), хранимом в смарт-карте USIM и определяющем допустимые механизмы защиты.

Нейронные сети для обнаружения мошенничества. Нейронные сети и экспертные составляют основу новых технологий обнаружения мошенничества. Одна из первых систем BRUTUS, разработанная в рамках проекта ASPeCT, реализует комбинацию методов детектирования мошенничества. Исходная информация для идентификации нестандартных (ошибочных или неправомочных) операций абонентов накапливается в профилях абонентов двух видов:
а) долговременные профили абонентов (ДПА) и
б) текущие профили абонентов (ТПА). Например, ТПА содержат агрегированные данные об использовании абонентом услуг связи за последние 24 часа: среднее время вызова, средняя и стандартная девиация длительности вызова. Эти параметры регистрируются в ТПА отдельно для местных и международных вызовов. После каждого абонентского вызова значения параметров ТПА корректируются. Параметры ДПА корректируются в начале следующего 24-часового цикла мониторинга абонентского поведения. Обнаружение случаев (возможных) мошенничества осуществляется на основе решающих правил. Например, анализ профилей ДПА и ТПА дает вероятности вызовов абонентов в других странах (распределение вероятностей по всем странам для каждого абонента). Программа детектирования выявляет все маловероятные отклонения новых параметров ТПА от хранимых значений этих профилей. Вычисленные вероятности текущих отклонений (для данного вызова) агрегируются в соответствии с моделью регрессии и по определенному критерию выдаются на монитор диспетчера как предупреждения (аларм-сигналы) о возможном мошенничестве. Испытания системы DRUTUS были проведены в течение 3-месячного детектирования абонентов реальной сети TACS в Великобритании. Система диагностировала профили всех 20 212 абонентов в течение этого периода. Среди этих абонентов были выявлены обычными способами 317 абонентов-мошенников, профили которых использовались как обучающиеся последовательности для настройки нейронной сети BRUTUS. При уровне 0,02% ошибочных аларм-сигналов BRUTUS выявила 40% из 317 абонентов-мошенников. В другом испытательном тесте система выдала список 27 подозреваемых абонентов (за 40-дневный период детектирования), среди которых оказалось 3 действительных абонента-мошенника. По оценке оператора-диспетчера такое соотношение "ошибочных/подтвержденных" абонентов вполне достаточно для успешных повседневных операций выявления случаев мошенничества. Противник подслушивает? Проблема защиты от перехвата информации существует едва ли не с момента появления электрической связи вообще. Людей всегда волновал и будет волновать вопрос, не услышал ли кто-нибудь посторонний то, что адресовалось только конкретному человеку или группе доверенных лиц. История развития средств перехвата или подмены информации идет в ногу с прогрессом в области телекоммуникаций, от проводного телефона до мобильного. Если раньше вопросы защиты передаваемой информации преимущественно касались государственных организаций, то с выходом последних достижений техники связи на массовый рынок это стало актуально и для рядового пользователя. Сотовый телефон - это замечательно, удобно и практично. А главное - многие сотовые телефоны не определяются системой АОН, что может быть очень полезно для решения различных задач. Но важно знать, что в любой аппаратуре сотовой связи на этапе разработки закладываются возможности: a.. представление информации о точном местоположении абонента (с точностью до метров); b.. запись и прослушивание разговоров; c.. фиксация номеров (даты, времени, категории и т.д.) вызывающей и принимающей вызов стороны; d.. дистанционное включение микрофона для прослушивания; и многое другое - направленное против вас! Существующие стандарты сотовой связи предоставляют различный уровень безопасности. Наименее защищенным является AMPS(N-AMPS), поскольку сигнал не кодируется и не шифруется, переговоры можно прослушивать даже на обычном приемнике с ЧМ. Далее следует NMT-450i, он тоже обеспечивает слабую защиту (нужно отметить, что индекс "i" появился в его названии после доработки его системы аутентификации). DAMPS вобрал в себя как недостатки предшественников, так и положительные черты новых перспектив. GSM, который будет обсуждаться ниже, имеет защиту, преодолеть которую уже можно только с помощью высокотехнологичного оборудования. CDMA же, наименее распространенный в России, обеспечивает пока самый высокий уровень защиты от прослушивания. В данной статье будет обсуждаться защита переговоров в GSM, поскольку, во-первых, он наиболее популярен, а во-вторых, именно в нем стали развиваться технологии защиты сотовых сетей от нелегального прослушивания и "клонирования телефонов", что представляет угрозу компаниям-операторам связи. Что такое защита GSM и как она создавалась. В принципе, по своему замыслу, цифровая система мобильной связи GSM вполне могла бы быть чрезвычайно защищенной. В основе ее лежит свод документов под названием "Меморандум о понимании стандарта GSM". Этот Меморандум был подготовлен на излете Холодной войны по инициативе ведущих телекоммуникационных компаний Западной Европы. Разрабатывал техническую документацию GSM Европейский институт стандартов по телекоммуникациям (ETSI), а в создании схемы безопасности, в целом призванной защитить новую систему от перехвата, прослушивания и мошенничества, активное участие приняли спецслужбы стран НАТО. Основу системы безопасности GSM составляют три секретных алгоритма (официально не раскрытые и поныне, сообщаемые лишь тем, кому это требуется по необходимости - поставщикам оборудования, операторам связи и т.д.): 1. А3 - алгоритм аутентификации, защищающий SIM-карту абонента от клонирования; 2. А8 - алгоритм генерации криптоключа; 3. A5 - собственно алгоритм шифрования оцифрованной речи для обеспечения конфиденциальности переговоров. В GSM используются две основные разновидности алгоритма: A5/1 - "сильная" версия шифра для избранных стран и A5/2 - ослабленная для всех остальных. Мобильные станции (телефоны) снабжены смарт-картой, содержащей A3 и A8, а в самом телефоне имеется ASIC-чип с алгоритмом A5. Базовые станции также снабжены ASIC-чипом с A5 и "центром аутенитификации", использующим алгоритмы A3-A8 для идентификации мобильного абонента и генерации сеансового ключа. Вся эта архитектура при надлежащем исполнении и качественных алгоритмах призвана гарантировать надежную аутентификацию пользователя, обеспечивая защиту мобильных станций от клонирования и прочих методов мошенничества, а также качественное шифрование конфиденциальных переговоров. Собственно говоря, именно это и декларируется компаниями, успешно занимающимися разворачиванием GSM по всему миру и уже охватившими услугами удобной связи, по разным подсчетам, от 210 до 250 миллионов человек на планете. Но реальность такова, что спецслужбы, занятые защитой правительственных коммуникаций, одновременно вовлечены и в деятельность противоположного рода: перехват и дешифрование коммуникаций в разведывательных целях. Как бы строго ни контролировались коммерческие секреты, понятно, что широкое распространение продукции рано или поздно приводит к утечкам информации. В GSM они стали появляться уже в начале 90-х годов. К 1994 году основные детали алгоритма A5 уже были известны и вскоре стали опубликовываться методы его вскрытия. Не вдаваясь в историю, скажем, что А5 был намеренно ослаблен и не обеспечивал желаемой конфиденциальности. Прослушивание. Взлом защиты GSM не остался без внимания негосударственных организаций, специализирующихся на сборе информации о частной и деловой жизни граждан. Такие подпольные организации уже имеют соответствующее оборудование, произведенное, в свою очередь, тоже нелегалами, без ведома государства и спецслужб. Оно состоит из приёмника радиосигналов и вычислительного комплекса, который обрабатывает принятые сигналы, дешифрует их, хранит огромный объем перехваченных переговоров и другие данные. Дешифрование сообщений возможно из-за слабостей, допущенных при применении криптоалгоритмов А5, А3 и А8. Упрощенно, работу с такой аппаратурой можно описать следующим образом: запускаем через компьютер номера абонентов сотовой связи, снимаем все, что они наговорили за интересующий нас период времени, и анализируем. Таким образом, о собирается информация не только о самом человеке, но и о его контактах, номерах телефонов его партнеров, которых, в свою очередь, тоже можно отследить. Сегодня никто никому не доверяет, а если дело касается бизнеса, тем более. Поэтому подобные фирмы без заказов не остаются. Информация требуется самая различная: от одиночного частного разговора до полного отслеживания всех переговоров не только заказанного человека, но и всего его окружения. Словом, сегодня в России, а особенно в Москве, такая ситуация: все пишут всех. Причем любой компромат любовно складируется - ведь он может "стать товаром" в любую минуту. И становится! Но об этом, как правило, знают лишь две стороны, естественно, предпочитающие помалкивать о сделке. Человек, далекий от мира техники, неминуемо придет в ужас, узнав, что в любой момент он может оказаться "под колпаком" у каких-то неизвестных людей. Но технари давно в курсе и относятся к подобным вариантам спокойно. Они говорят: "Если человеку бояться нечего, то он может спокойно пользоваться всеми видами телекоммуникации. Если он хочет обезопасить себя, то пусть предохраняется - покупает что-нибудь подороже или переходит на эзопов язык. Другого пути нет Клонирование. Клонирование-это технология, позволяющая на основе одной официально купленной у оператора SIM-карты, произвести любое количество SIM-карт с зарегистрированным на них одним и тем же телефонным номером и которые можно использовать в сотовой сети одного оператора связи. Сначала необходимо объяснить, почему такое возможно. Зашифрованные данные абонента GSM хранятся в небольшой смарт-карте, которая вставляется в телефон. Без карты, называемой также модулем идентификации пользователя (SIM - Subscriber Identification Module), аппарат представляет собой бесполезную оболочку. Карту, идентифицирующую владельца, можно использовать с любым стандартным телефоном. Обнаруженная дыра в безопасности позволяет извлечь секретную информацию из одного SIM и переписать ее в другой, создав точную копию первого телефона. В апреле 1998 г. группа компьютерных экспертов из Калифорнии широко объявила и продемонстрировала, что ей удалось клонировать мобильный телефон стандарта GSM. Ранее всеми по умолчанию предполагалось, что цифровые сети GSM гораздо надежнее защищены от этой напасти, приносящей миллионные убытки сетям аналоговой сотовой телефонии. Не так давно подобные технологии стали практиковать не только лаборатории, но и "подпольные" умельцы, на которых Россия особенно щедра. Так что не удивляйтесь, если увидите объявление с предложением клонировать ваш телефон для друзей и близких. Какие выводы можно сделать из громкого взлома еще одной защиты? Прежде всего, владельцам сотовых телефонов пока не следует особо беспокоится. Без физического доступа, по крайней мере, на несколько часов, их аппарат никто не сможет клонировать. Клонировать телефон, перехватывая информацию в эфире, пока еще нельзя, но такая возможность не исключается в будущем. Возникает законный вопрос: как же защититься от этого беспредела? Дадим несколько советов: 1. Ну пожалуй самое безопасное, это просто отказаться от использования сотовой связи. Но это увы, не всегда приемлемо. Телефон, который вы приобретаете, может быть приобретен анонимно (или оформлен на вымышленные данные) - и являться таким образом довольно хорошим средством, обеспечивающим вашу безопасность и конфиденциальность. 2. В интересах вашей безопасности запрещается передача конфиденциальной информации на телефон в открытом виде! Предупредите об этом всех своих респондентов. 3. В интересах вашей безопасности запрещается передавать на телефон реальные телефоны, ФИО, адреса и т.д. только в случае крайней необходимости. Гораздо проще передавать сообщение типа: "позвони Алексею на работу (или домой). 4. Изобретите некий эзопов язык (язык условных фраз и сигналов, не соответствующих своему прямому содержанию), и общайтесь на нем. Словом изобретайте, вариантов великое множество!


Специальные символы

Некоторые символы не входят в базовую часть таблицы кодов ASCII. К ним относятся буквы алфавитов части европейских языков, математические и некоторые другие символы. Некоторые символы, введенные в HTML документ будут интерпретироваться не так, как задумал автор. Это, например, символы "<" и ">", используемые для указания тегов.

В этих случаях можно вводить нужные символы с помощью специальных кодов. Коды начинаются с символа "амперсанд"(&). За ним следует название символа либо его числовой код в десятичной или шестнадцатеричной системе. Завершает код символ "точка с запятой"(;).

В спецификации HTML указано большое количество спецсимволов, но только некоторые из них используются. Наиболее часто используемые спецсимволы приведены в таблице:
Имя | Код | Вид | Описание
&quot;&#34;"двойная кавычка
&amp;&#38;&амперсанд
&lt;&#60;<знак 'меньше'
&gt;&#62;>знак 'больше'
&nbsp; | &#160; | неразрывный пробел
&iexcl;&#161;¡перевернутый восклицательный знак
&cent;&#162;¢цент
&pound;&#163;£фунт стерлингов
&curren;&#164;¤денежная единица
&yen;&#165;¥иена или юань
&brvbar;&#166;¦разорванная вертикальная черта
&sect;&#167;§параграф
&uml;&#168;¨умляут
&copy;&#169;©знак copyright
&ordf; | &#170; | ª | женский порядковый числитель
&laquo;&#171;«левая двойная угловая скобка
&not;&#172;¬знак отрицания
&shy; | &#173; | место возможного переноса
&reg;&#174;®знак зарегистрированной торговой марки
&macr;&#175;¯верхняя горизонтальная черта
&deg;&#176;°градус
&plusmn;&#177;±плюс-минус
&sup2; | &#178; | ² | "в квадрате"
&sup3; | &#179; | ³ | "в кубе"
&acute;&#180;´знак ударения
&micro; | &#181; | µ | микро
&para;&#182;¶символ параграфа
&middot;&#183;·точка
&cedil;&#184;¸седиль (орфографический знак)
&sup1; | &#185; | ¹ | верхний индекс 'один'
&ordm; | &#186; | º | мужской порядковый числитель
&raquo;&#187;»правая двойная угловая скобка
&frac14; | &#188; | ¼ | одна четвертая
&frac12; | &#189; | ½ | одна вторая
&frac34; | &#190; | ¾ | три четвертых
&iquest;&#191;¿перевернутый вопросительный знак
&Agrave; | &#192; | À | латинская заглавная А с тупым ударением
&Aacute; | &#193; | Á | латинская заглавная А с острым ударением
&Acirc; | &#194; | Â | латинская заглавная А с диакритическим знаком над гласной
&Atilde; | &#195; | Ã | латинская заглавная А с тильдой
&Auml; | &#196; | Ä | латинская заглавная А с двумя точками
&Aring; | &#197; | Å | латинская заглавная А с верхним кружком
&AElig; | &#198; | Æ | латинские заглавные символы AE вместе
&Ccedil; | &#199; | Ç | латинская заглавная C с седилем
&Egrave; | &#200; | È | латинская заглавная E с тупым ударением
&Eacute; | &#201; | É | латинская заглавная E с острым ударением
&Ecirc; | &#202; | Ê | латинская заглавная E с диакритическим знаком над гласной
&Euml; | &#203; | Ë | латинская заглавная E с двумя точками
&Igrave; | &#204; | Ì | латинская заглавная I с тупым ударением
&Iacute; | &#205; | Í | латинская заглавная I с острым ударением
&Icirc; | &#206; | Î | латинская заглавная I с диакритическим знаком над гласной
&Iuml; | &#207; | Ï | латинская заглавная I с двумя точками
&ETH; | &#208; | Ð | латинская заглавная D с черточкой
&Ntilde; | &#209; | Ñ | латинская заглавная N с тильдой
&Ograve; | &#210; | Ò | латинская заглавная O с тупым ударением
&Oacute; | &#211; | Ó | латинская заглавная O с острым ударением
&Ocirc; | &#212; | Ô | латинская заглавная O с диакритическим знаком над гласной
&Otilde; | &#213; | Õ | латинская заглавная O с тильдой
&Ouml; | &#214; | Ö | латинская заглавная O с двумя точками
&times;&#215;×знак умножения
&Oslash; | &#216; | Ø | латинская заглавная O со штрихом
&Ugrave; | &#217; | Ù | латинская заглавная U с тупым ударением
&Uacute; | &#218; | Ú | латинская заглавная U с острым ударением
&Ucirc; | &#219; | Û | латинская заглавная U с диакритическим знаком
&Uuml; | &#220; | Ü | латинская заглавная U с двумя точками
&Yacute; | &#221; | Ý | латинская заглавная Y с острым ударением
&THORN; | &#222; | Þ | латинская заглавная THORN
&agrave; | &#224; | à | латинская строчная a с тупым ударением
&aacute; | &##225; | á | латинская строчная a с острым ударением
&acirc; | &##226; | â | латинская строчная a с диакритическим знаком
&atilde; | &#227; | ã | латинская строчная a с тильдой
&auml; | &#228; | ä | латинская строчная a с двумя точками
&aring; | &#229; | å | латинская строчная a с верхним кружком
&aelig; | &#230; | æ | латинская строчные буквы ae
&ccedil; | &#231; | ç | латинская строчная c с седилем
&egrave; | &#232; | è | латинская строчная e с тупым ударением
&eacute; | &#233; | é | латинская строчная e с острым ударением
&ecirc; | &#234; | ê | латинская строчная e с диакритическим знаком
&euml; | &#235; | ë | латинская строчная e с двумя точками
&igrave; | &#236; | ì | латинская строчная I с тупым ударением
&iacute; | &#237; | í | латинская строчная I с острым ударением
&icirc; | &#238; | î | латинская строчная I с диакритическим знаком
&iuml; | &#239; | ï | латинская строчная I с двумя точками
&eth; | &#240; | ð | латинская строчные символы eth
&ntilde; | &#241; | ñ | латинская строчная N с тильдой
&ograve; | &#242; | ò | латинская строчная O с тупым ударением
&oacute; | &#243; | ó | латинская строчная O с острым ударением
&ocirc; | &#244; | ô | латинская строчная O с диакритическим знаком
&otilde; | &#245; | õ | латинская строчная I с тильдой
&ouml; | &#246; | ö | латинская строчная I с двумя точками
&divide;&#247;÷знак деления
&oslash; | &#248; | ø | латинская строчная O со штрихом
&ugrave; | &#249; | ù | латинская строчная U с тупым ударением
&uacute; | &#250; | ú | латинская строчная U с острым ударением
&ucirc; | &#251; | û | латинская строчная U с диакритическим знаком
&uuml; | &#252; | ü | латинская строчная U с двумя точками
&yacute; | &#253; | ý | латинская строчная Y с острым ударением
&thorn; | &#254; | þ | латинская строчная thorn
&yuml; | &#255; | ÿ | латинская строчная Y с двумя точками
&fnof; | &#402; | ƒ | знак функции

Символы для букв

&circ; | &#710; | ˆ | диакритический знак над гласной
&tilde;&#732;˜тильда

Греческие буквы
&Alpha; | &#913; | Α | заглавная альфа
&Beta; | &#914; | Β | заглавная бета
&Gamma; | &#915; | Γ | заглавная гамма
&Delta; | &#916; | Δ | заглавная дельта
&Epsilon; | &#917; | Ε | заглавная эпсилон
&Zeta; | &#918; | Ζ | заглавная дзета
&Eta; | &#919; | Η | заглавная эта
&Theta; | &#920; | Θ | заглавная тета
&Iota; | &#921; | Ι | заглавная иота
&Kappa; | &#922; | Κ | заглавная каппа
&Lambda; | &#923; | Λ | заглавная лямбда
&Mu; | &#924; | Μ | заглавная мю
&Nu; | &#925; | Ν | заглавная ню
&Xi; | &#926; | Ξ | заглавная кси
&Omicron; | &#927; | Ο | заглавная омикрон
&Pi; | &#928; | Π | заглавная пи
&Rho; | &#929; | Ρ | заглавная ро
&Sigma; | &#931; | Σ | заглавная сигма
&Tau; | &#932; | Τ | заглавная тау
&Upsilon; | &#933; | Υ | заглавная ипсилон
&Phi; | &#934; | Φ | заглавная фи
&Chi; | &#935; | Χ | заглавная хи
&Psi; | &#936; | Ψ | заглавная пси
&Omega; | &#937; | Ω | заглавная омега
&alpha; | &#945; | α | строчная альфа
&beta; | &#946; | β | строчная бета
&gamma; | &#947; | γ | строчная гамма
&delta; | &#948; | δ | строчная дельта
&epsilon; | &#949; | ε | строчная эпсилон
&zeta; | &#950; | ζ | строчная дзета
&eta; | &#951; | η | строчная эта
&theta; | &#952; | θ | строчная тета
&iota; | &#953; | ι | строчная иота
&kappa; | &#954; | κ | строчная каппа
&lambda; | &#955; | λ | строчная лямбда
&mu; | &#956; | μ | строчная мю
&nu; | &#957; | ν | строчная ню
&xi; | &#958; | ξ | строчная кси
&omicron; | &#959; | ο | строчная омикрон
&pi; | &#960; | π | строчная пи
&rho; | &#961; | ρ | строчная ро
&sigmaf; | &#962; | ς | строчная сигма (final)
&sigma; | &#963; | σ | строчная сигма
&tau; | &#964; | τ | строчная тау
&upsilon; | &#965; | υ | строчная ипсилон
&phi; | &#966; | φ | строчная фи
&chi; | &#967; | χ | строчная хи
&psi; | &#968; | ψ | строчная пси
&omega; | &#969; | ω | строчная омега

Общая пунктуация

&ndash;&#8211;–тире
&mdash;&#8212;—длинное тире
&lsquo;&#8216;‘левая одиночная кавычка
&rsquo;&#8217;’правая одиночная кавычка
&sbquo;&#8218;‚нижняя одиночная кавычка
&ldquo;&#8220;“левая двойная кавычка
&rdquo;&#8221;”правая двойная кавычка
&bdquo;&#8222;„нижняя двойная кавычка

Прочие символы

&dagger;&#8224†латинский крест
&Dagger;&#8225‡двойной крест
&bull;&#8226;•маленький черный кружок
&hellip;&#8230;…многоточие ...
&#8240;‰знак промилле (процент с дополнительным ноликом)
&prime;&#8242; ′одиночный штрих - минуты
&Prime;&#8243; ″двойной штрих - секунды
&oline;&#8254; ‾надчеркивание
&frasl;&#8260; ⁄косая дробная черта
&euro;&#8364;€евро
&#8470;№знак номера
&trade;&#8482;™знак торговой марки
&loz;&#9674◊ромб
&#9675○круг

Стрелки

&larr;&#8592; ←стрелка влево
&uarr;&#8593; ↑стрелка вверх
&rarr;&#8594; →стрелка вправо
&darr;&#8595; ↓стрелка вниз
&harr;&#8596; ↔стрелка влево-вправо
&#8597;↕стрелка вверх-вниз

Масти

&spades;&#9824; ♠знак масти 'пики'
&clubs;&#9827; ♣знак масти 'трефы'
&hearts;&#9829; ♥знак масти 'червы'
&diams;&#9830; ♦знак масти 'бубны'


Скрипт-приветствие

Скрипт выдает приветствие в соответствии со временем на часах посетителя. Если скрипты не поддержживаются браузером, выдается "Добро пожаловать!"

Добр !

Код для примера

Добр<script language="JavaScript"> <!-- date = new Date(); date = date.getHours(); if (date >= 0 && date < 6) {document.write("ой ночи")} else {if (date >= 6 && date < 12) {document.write("ое утро")} else {if (date >= 12 && date < 18) {document.write("ый день")} else {document.write("ый вечер")} } } //--> </script><noscript>о пожаловать</noscript>!


Таблица базовых цветов BgColor
Aliceblue F0F8FF | Antiquewhite FAEBD7 | Aqua 00FFFF | Aquamarine 7FFFD4
Azure F0FFFF | Beige F5F5DC | Bisque FFE4C4 | Black 000000
Blanchedalmond FFEBCD | Blue 0000FF | Blueviolet 8A2BE2 | Brown A52A2A
Burlywood DEB887 | Cadetblue 5F9EA0 | Chartreuse 7FFF00 | Chocolate D2691E
Coral FF7F50 | Cornflowerblue 6495ED | Cornsilk FFF8DC | Crimson DC143C
Cyan 00FFFF | Darkblue 00008B | Darkcyan 008B8B | Darkgoldenrod B8860B
Darkgray A9A9A9 | Darkgreen 006400 | Darkkhaki BDB76B | Darkmagenta 8B008B
Darkolivegreen 556B2F | Darkorange FF8C00 | Darkorchid 9932CC | Darkred 8B0000
Darksalmon E9967A | Darkseagreen 8FBC8F | Darkslateblue 483D8B | Darkslategray 2F4F4F
Darkturquoise 00CED1 | Darkviolet 9400D3 | deeppink FF1493 | Deepskyblue 00BFFF
Dimgray 696969 | Dodgerblue 1E90FF | Firebrick B22222 | Floralwhite FFFAF0
Forestgreen 228B22 | Fuchsia FF00FF | Gainsboro DCDCDC | Ghostwhite F8F8FF
Gold FFD700 | Goldenrod DAA520 | Gray 808080 | Green 008000
Greenyellow ADFF2F | Honeydew F0FFF0 | Hotpink FF69B4 | Indianred CD5C5C
Indigo 4B0082 | Ivory FFFFF0 | Khaki F0E68C | Lavendar E6E6FA
Lavenderblush FFF0F5 | Lawngreen 7CFC00 | Lemonchiffon FFFACD | Lightblue ADD8E6
Lightcoral F08080 | Lightcyan E0FFFF | Lightgoldenrodyellow FAFAD2 | Lightgreen 90EE90
Lightgrey D3D3D3 | Lightpink FFB6C1 | Lightsalmon FFA07A | Lightseagreen 20B2AA
Lightskyblue 87CEFA | Lightslategray 778899 | Lightsteelblue B0C4DE | Lightyellow FFFFE0
Lime 00FF00 | Limegreen 32CD32 | Linen FAF0E6 | Magenta FF00FF
Maroon 800000 | Mediumauqamarine 66CDAA | Mediumblue 0000CD | Mediumorchid BA55D3
Mediumpurple 9370D8 | Mediumseagreen 3CB371 | Mediumslateblue 7B68EE | Mediumspringgreen 00FA9A
Mediumturquoise 48D1CC | Mediumvioletred C71585 | Midnightblue 191970 | Mintcream F5FFFA
Mistyrose FFE4E1 | Moccasin FFE4B5 | Navajowhite FFDEAD | Navy 000080
Oldlace FDF5E6 | Olive 808000 | Olivedrab 688E23 | Orange FFA500
Orangered FF4500 | Orchid DA70D6 | Palegoldenrod EEE8AA | Palegreen 98FB98
Paleturquoise AFEEEE | Palevioletred D87093 | Papayawhip FFEFD5 | Peachpuff FFDAB9
Peru CD853F | Pink FFC0CB | Plum DDA0DD | Powderblue B0E0E6
Purple 800080 | Red FF0000 | Rosybrown BC8F8F | Royalblue 4169E1
Saddlebrown 8B4513 | Salmon FA8072 | Sandybrown F4A460 | Seagreen 2E8B57
Seashell FFF5EE | Sienna A0522D | Silver C0C0C0 | Skyblue 87CEEB
Slateblue 6A5ACD | Slategray 708090 | Snow FFFAFA | Springgreen 00FF7F
Steelblue 4682B4 | Tan D2B48C | Teal 008080 | Thistle D8BFD8
Tomato FF6347 | Turquoise 40E0D0 | Violet EE82EE | Wheat F5DEB3
White FFFFFF | Whitesmoke F5F5F5 | Yellow FFFF00 | YellowGreen 9ACD32


Java Script
Формы.
Предоставление информации, введенной в форму.

Какие существуют возможности для передачи информации, внесенной в форму? С амый простой способ состоит в передаче данных формы по электронной почте (этот метод мы рассмотрим поподробнее). Если Вы хотите, чтобы за вносимыми в форму данными следил сервер, то Вы должны использовать интерфейс CGI (Common Gateway Interface). Последнее позволяет Вам автоматически обрабатывать данные. Например, сервер мог бы создавать базу данных со сведениями, доступную для некоторых из клиентов. Другой пример - поисковые страницы, такие как Yahoo. Обычно в них представлена форма, позволяющая создавать запрос для поиска в собственной базе данных. В результате пользователь получает ответ вскоре после того, как нажимает на соответствующую кнопку. Ему не приходится ждать, пока люди, отвечающие за поддержание данного сервера, прочтут указанные им данные и отыщут требуемую информацию. Все это автоматически выполняет сам сервер. JavaScript не позволяет делать таких вещей.

С помощью JavaScript Вы не сможете создать книгу читательских отзывов, поскольку JavaScript лишен возможности записывать данные в какой-либо файл на сервере. Делать это Вы можете только через интерфейс CGI. Конечно, Вы можете создать книгу отзывов, для которой пользователи присылали сведения по электронной почте. Однако в этом случае Вы должны заносить отзывы вручную. Так можно делать, если Вы не предполагаете получать ежедневно по 1000 отзывов. Соответствующий скрипт будет простым текстом HTML. И никакого программирования на JavaScript здесь вовсе не нужно! Конечно за исключением того случая, если Вам понадобится перед пересылкой проверить данные, занесенные в форму - и здесь уже Вам действительно понадобится JavaScript.

<form method=post action="mailto:your.address@goes.here" enctype="text/plain">
Нравится ли Вам эта страница?
<input name="choice" type="radio" value="1">Вовсе нет.<br>
<input name="choice" type="radio" value="2" CHECKED>Напрасная трата времени.<br>
<input name="choice" type="radio" value="3">Самый плохой сайт в Сети.<br>
<input name="submit" type="submit" value="Send">
</form>

Параметр enctype="text/plain" используется для того, чтобы пересылать именно простой текст без каких-либо кодируемых частей. Это значительно упрощает чтение такой почты.

Если Вы хотите проверить форму прежде, чем она будет передана в сеть, то для этого можете воспользоваться программой обработки событий onSubmit. Вы должны поместить вызов этой программы в тэг <form>. Например:

function validate() {
// check if input ok
// ...

if (inputOK) return true
else return false;
}

...

<form ... onSubmit="return validate()">

...
Форма, составленная таким образом, не будет послана в Интернет, если в нее внесены некорректные данные.


СДЕЛАЙ САМ - кое-что о муках сайтостроения

Увлекательное это дело - создавать свой сайт! Поверьте мне - так приятно поминутно заглядывать на свой сайтик и пристально вглядываться в счетчик :"Пришел ли кто?" Регистрации в рейтингах, каталогах...а развешивание рекламы - это целое приключение!!! Это действительно увлекательно - смотришь, выбираешь, а у рекламных баннеров цвет такой, что начисто убивает твой простенький дизайн, над которым ты корпел не один день, ...ну вот наконец чей-то баннер удостоен чести находиться на твоем сайте - ТЕПЕРЬ БЫ ЕГО ВСТАВИТЬ!!! Почему этот проклятый баннер встает не туда куда надо - ногами его, ногами...

Как говорят знающие люди, творчество - очень трудоемкий процесс, сайтостроение здесь не исключение, а яркий тому пример.

Я начал делать все неправильно - ни с того, ни с сего в пять утра взял и зарегистрировал у Freeservers сайт емкостью в 20Mb. Это в корне не верно!!! Я это понял и хочу чтобы это поняли Вы. Вот как должно быть:

Вы осознаете что вам нужен сайт (страничка) - для чего??? Если для того, чтобы рассказать о себе любимом, то подумайте - может не стоит? Хотите заработать? Флаг в руки - но для этого надо очень напрячься (всем тужиться пять минут). Вот будет смешно, когда после хатяжных потуг вы ничего приличного не заработаете...правда много нового узнаете, что полезно!

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

Когда Вы определились для чего Вам это надо, продумайте его содержание.Нет, не в общем "про музыку", а очень даже конкретно: про какую музыку, какого типа информацию вы будете предоставлять, как часто вы будете пополнять свои информационные ресурсы и будете ли вы способны делать это. У меня складывается впечатление, что сейчас большего успеха можно достичь развивая свой сайт в узкой информационной полосе, но достаточно глубоко - выразился я коряво сейчас поясню. Можно сделать сайт про музыку, набивая его всем подряд, а можно сделать его более специализированным, например, музыка 80-х, или музыка древних народов. Если в первом случае вы наберете мешанину, которая по качеству и полезности будет наверняка уступать другим таким же сайтам-гигантам, то в других вариантах вы можете раскрыть свою тему намного полнее, чем те же многопрофильные гиганты, и конкурентов меньше будет... В общем, думайте!

Соберите материал! М...да Это моя хроническая болезнь - делаю, потом долго доделываю. Планируете сделать какие-то разделы - сделайте их сразу и наполните их материалом, а не оставляйте на потом! Не всем посетителям нравится вечная стройка - когда бы к вам не пришли, ваш сайт должен выглядеть законченным! Без всяких undo constraction. А я все время куда-то бегу...

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

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

Вам следует воплотить задуманное Вами...делается все это у себя на компьютере, а вовсе не на сервере. Процесс это своеобразный...и увлекательный. Может вы смените не раз дизайн, а может даже и тему сайта. Делать желательно все не спеша и качественно.

А теперь свой готовый проект Вы можете закачать на свой сервер который надо теперь получить. Сервер можно регистрировать в последнюю очередь, правда не всегда. Если ваш сайт основан на активном использовании cgi скриптов (каталог например), то наверняка вам придется экспериментировать уже на сайте.


Програмирование

Пособие по CGI-программированию.

Прекрасный язык Perl.

Вы наверное обратили свое внимание что CGI скрипты пишутся обычно на языке Perl (Practical Extraction and Report Language)- очень удобном языке,впитавшем из других все лучшие черты.Может у вас возникнуть сомнение :Ну вот!Изучать новый язык программирования!? Спешу вас успокоить,изучение Perl не будет в тягость (я сужу по своему опыту!). Вы даже сами не заметите как выучите его.Если вы хоть когда-нибудь программировали скажем на C и использовали утилиту grep для поиска регулярных выражений в тексте,то вам будет еще легче.Мое изучение Perl началось с того что я скачал Perl под Windows (фирмы ActiveWare) и изучения той HTMLой документации которая к нему прилагалась хватило чтоб этот язык стал моим любимым....
Все в нем сделано для удобства программиста (в отличии например от Java;( )
Начнем с переменных,они в Perl бывают 3х типов скаларные,списковые(массивы) и хэши(ассоциативные массивы). Для указания компилятору(да и для немалого удобства программиста) перед именем скалярной переменной стоит знак '$' перед массивом '@',перед хешем '%'. т.е. например $scalar_var,@array_var,%hash_var Скалярные переменные могут быть как числовые так и строковые,но это не надо указывать Perl сам по контексту в зависимости от операций может привести одно к другому.
Например: "123"+"4" будет 127 (или "127") так как операция '+' действует над числами а вот если применить операцию конкатенации строк '.' то строковое "test" . 1 будет "test1"
Ну а вот операции над скалярными переменными:
Операции | Описание | Пример
+ - * / % Арифметические print 2*7+4/(8%3);
print int(127/15); #целая часть
** Возведение в степень print 2**16;
++ -- Инкремент-декремент $i++;
& | ^ ~ << >> Побитовые $x=3;$y=4;
print $x|$y;
print $x&$y;
== != < > <= >= <=> Числовые операции сравнения if($x==9){print "Ok!";}
eq ne lt gt le ge cmp | стрковые операции сравнения | if($game eq 'doom'){print "You are doomer!\n";}
|| && ! Логические if(($x==9)||($game eq 'doom')){print "hello you!\n";}
?: Условный оператор $x=($game eq 'quake'?9:8);
, Последовательное вычисление $x=10,$y=20;
. Конкатенация $x='http://'.'www.uic.nnov.ru';
x | Повторение | $x='1234'x5; #$x='12341234123412341234'
=~ Сопоставление с образцом if($url=~/http/){print "HTTP";}
!~ То же но с отрицанием if($url!~/http/){print "No HTTP";}
= += -= *= /= %= **= |= &= ^= ~= <<= >>= .= x= | Присваивание | $x+=$y;
Пусь это будет вам справочником ,да кстати насчет строк,вы заметили,что они могут быть в двойных и одинарных кавычках, разница между ними состоит в том ,что в одинарных не осуществляется подстановка переменных, а в двойных осущестляется, Например:

$x='qwerty';
print 'my var is $x'; #выведет my var is $x
print "my var is $x"; #выведет my var is qwerty
Списки: Спискочные переменные начинаются с символа '@' конструируются следующим образом
@List1=(1,2,5,70);
@List2=(12,23,@List1); #12,23,1,2,5,70
@Rgb=($r,$g,$b);
Также можно список использовать как lvalue:
@List=(1,2,3..8,15);
($x,$y,$z)=@List;        #$x=1,$y=2,$z=3
($x,$y,$z,@list2)=@List; #$x=1,$y=2,$z=3,@list2=(4,5,6,7,8,15);
($r,$g,$b)=@Rgb;
Можно обращаться к нескольким,выбраным элементам массива(срезу массива):
@list=(1..10);
@list[2,3,5,9]=(100,200,300,400); #@list=(1,100,200,4,300,6,7,8,400,10)
@list[1,10]=@list[10,1];#меняет местами элементы
Обратится к скаларному значению -элементу массива можно $имя_массива[индекс], сдесь обратите внимание на знак '$'- мы ведь обращаемся к скаляру-элементу.
Теперь немного о хешах:
хеш это такой массив который состоит из пар ключ-значение, весь хеш обозначается %хеш ,к отдельным элементам доступ $хеш{скалярное выражение} конструируется хеш так:
$my_hash{1}="doom";
$my_hash{'quake'}="www.idsoftware.com";
$my_hash{1+2}=100;
Хеш может быть также сконструирован из массива с четным числом элементов где пары превращаются в ключ-значение
%hash=(1,20,2,100);#аналогично $hash{1}=20;$hash{2}=100;
удаление из хеша -операция delete:
delete $hash{1};
есть функции выдающие ключи и значения соответственно.
%hash=(1,20,2,100,3,'doom');
@k=keys %hash;  #@k=(1,2,3);
@v=values %hash;#@v=(20,100,'doom');
Операторы:
Набор операторов в Perl Очень широк,многие из них прямые аналоги имеющихся в других языках,например if,for,while;но есть и значительные улучшения имеюшихся и конечно новые...
Тот же самый оператор if имеет две формы (как когда удобнее):
if(условие)оператор;
оператор if условие;

Веб-кольцо.

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

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

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

Эти круги принято называть Веб-кольцами. Такие Веб-кольца есть у каждого и у новичка и у професионального веб-мастера. Таким образом, главной системой координат в сети становится ни каталог Раблер, а такие такие вещи, как папка "Избаранное" и что важно, стартовая страница браузера - именно они и формируют эти веб-кольца.

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

1. Нельзя оставить хорошие сайты без внимания.
2. Хороших сайтов тысячи.
3. Нельзя объять необъятное.

Можно! И даже нужно, чем и занимаются такие гигансткие каталоги, как Рамблер и Яндекс. С помощью них нельзя формировать аудиторию одного сайта, но можно формировать рунет.


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

Большенсво крупных крутилок используют 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.