0
<< предыдущая заметкаследующая заметка >>
08 января 2007
частые вопросы про дневник

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

ЧТО ОЗНАЧАЕТ КРАСНОЕ ПРИВЕТСТВИЕ ВВЕРХУ?

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

ЗАЧЕМ ЭТО НУЖНО?

Я в прошлом программист, и мне доставляет удовольствие налаживать время от времени разные мелкие фокусы. В программировании мне помогали и консультировали разные люди — Созидатель, Robinbobin, Valentin, Виктор Никитюк, большое им спасибо.

КАК ТЫ ОПРЕДЕЛЯЕШЬ, КТО Я В ЖЖ, ВЕДЬ Я РАЗЛОГИНИЛСЯ?

Ваши логины — это ваши личные отношения с ЖЖ, которые никакому другому сайту недоступны. Определить, какой у вас логин ЖЖ очень просто: достаточно, чтобы вы хоть раз пришли сюда по ссылке из ЖЖ, поскольку скорее всего это будет ссылка из френдленты. И почти в ста процентах случаев это именно ваша личная френдлента, а не чужая. Соответственно, не представляет ни малейшего труда выудить ваше имя из поля REFFERER.

$lj=base64_decode($_COOKIE[«lj»]);
if ( (preg_match("/\Ahttp\:\/\/(.+?)\.livejournal\.com\/friends/", $_SERVER[«HTTP_REFERER»], $m)) ||
     (preg_match("/\Ahttp\:\/\/users\.livejournal\.com\/(.+?)\/friends/", $_SERVER[«HTTP_REFERER»], $m)) )
{
      $lj=$m[1];
      setcookie(«lj», base64_encode($lj), time()+86400*365, "/", «.lleo.aha.ru», 0);
}

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

Я ЧИТАЮ ТВОЙ ДНЕВНИК ЧЕРЕЗ RSS, И ВСЯКИЙ РАЗ ПОЛУЧАЮ ПРИВЕТСТВИЕ «ИЩЕШЬ В ГУГЛЕ». ПОЧЕМУ?

Потому что у меня нет времени провести эксперименты и более точно настроить определения поисковиков. Вот программка, которая пытается определить, пришли ли вы в дневник из какого-то поисковика $s(0), а если да, то какие слова $s(1) там искали:

function poiskovik () {

$u=parse_url($_SERVER[«HTTP_REFERER»]);
parse_str($u['query'],$outr);

// GOOGLE
if (ereg («google.», $u[«host»])) {
    $s[0]=iconv('utf-8','windows-1251',urldecode($outr['q']));
    $s[1]=«Google»;
}

// YANDEX-search
if (ereg («yandex.ru/yandsearch», $u[«host»].$u[«path»])) {
    $s[0]=urldecode($outr['text']);
    $s[1]=«Yandex»;
}

// YANDEX-yandpage
if (ereg («yandex.ru/yandpage», $u[«host»].$u[«path»])) {
    parse_str(urldecode($outr['qs']),$outr2);
    $s[0]=iconv('koi8-r','windows-1251',urldecode($outr2['text']));
    $s[1]=«Yandex»;
}

// RAMBLER
if (ereg («rambler.ru», $u[«host»])) {
    $s[0]=trim(urldecode($outr['words'].» «.$outr['old_q']));
$k_koi=strlen(str_replace("-",»",strtr($searchtext,»КГХЛЕОЗЫЭЪИЯЖЩЧБРТПМДЦЬСЮУНЙФШВА»,
"--------------------------------")));
$k_win=strlen(str_replace("-",»",strtr($searchtext,»кгхлеозыэъияжщчбртпмдцьсюунйфшва»,
"--------------------------------")));
if ($k_koi < $k_win) $s[0]=iconv('cp1251','koi8-r',$s[0]);
    $s[1]="Rambler";
}

// GO.MAIL.RU
if (ereg ("go.mail.ru/search", $u["host"].$u["path"])) {
    $s[0]=trim(urldecode($outr['q']." ".$outr['old_q']));
    $s[1]="Go.mail.ru";
}

return $s;
}

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

ТЫ ВСЕХ ЗАПИСЫВАЕШЬ И МОЖЕШЬ МЕНЯ ЗАБАННИТЬ?

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

ОТКУДА ВЫ ЗНАЕТЕ, СКОЛЬКО РАЗ Я БЫЛ НА САЙТЕ СИМВОЛИЧЕСКОГО НАПРАВЛЕНИЯ?

Это знаете только вы — у вас в куках счетчик. Пока robinbobin мне не указал сегодня на ошибку, этот счетчик работал через пень-колоду и куки для lleo.aha.ru и www.lleo.aha.ru записывались разные. Саму информацию о количестве ваших посещений я выводил некоторое время в дневнике шутки ради, но теперь убрал, потому что шутка наскучила, и больше вы этого не увидите.

ПОЧЕМУ ВЫ ЧАСТО НЕ ДАЕТЕ ОСТАВИТЬ КОММЕНТАРИИ?

Комментарии отнимают у меня много времени, потому что всякий раз хочется ответить, а в последний год из-за роста блогового движения посещаемость моего дневника резко возросла, и комментариев приходит очень много. Скрипт дневника автоматически блокирует возможность оставлять комментарии, если число посетителей листка достигло 5000 (раньше было 10000), в этом случае листок дневника считается излишне популярным, и все оставленные комментарии тоже автоматически скрываются. Кроме того, возможность добавлять комментарии автоматически блокируется через 3 дня (раньше было через 10 дней) после опубликования листка, хотя в этом случае все накопленные комментарии продолжают отображаться (пока число посетителей не достигнет 5000 :). В некоторых же случаях я блокирую возможность оставлять комментарии сразу, если по каким-то причинам мне кажется, что они на этом листке неуместны. Разумеется, всё вышеперечисленное не означает, что я не хочу общаться с вами — вовсе нет. Если у вас действительно есть, что сказать, я по-прежнему буду рад получить ваше замечание по адресу lleo@aha.ru

ПРИШЛИ МНЕ ВЕСЬ СКРИПТ СВОЕГО ДНЕВНИКА, Я ХОЧУ СДЕЛАТЬ ТАКОЙ ЖЕ

Сам скрипт (точнее, кучу скриптов) дневника делал мой друг Созидатель с 2000 года. Он разрешил мне пользоваться этим и вносить собственные доработки, но раздавать плоды его работы я не имею права. А чем вам не нравится сервис livejournal.com?

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок

Комментарии к этой заметке автоматически отключились, потому что прошло больше 7 дней или число посещений превысило 20000. Но если что-то важное, вы всегда можете написать мне письмо: lleo@lleo.me