Безопасный Gmail

33 комментария

Не знаю кому как, а лично я после перехода на Gmail просто перестал устанавливать почтовый клиент на свои компьютеры. Судите сами — никаких проблем с доставкой почты, кодировками, отличный спам-фильтр, удобный портабельный и кроссплатформенный веб-клиент.

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

Chaos Constructions

Так вот — хорошая новость. Теперь в настройках почты Gmail появилась галочка — «Всегда использовать https»:

Gmail HTTPS

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

Мы собрали рюкзаки, повесили на них палатки, спальные мешки и через несколько часов выезжаем в Москву на iCamp. Не упустите шанс пообщаться!



Маленький отпуск

8 комментариев

Лес, озероПриближается пятница — 25 июля, в которую по традиции отмечается день системного администратора. Первый раз данный праздник был отмечен 28 июля 2000 года с подачи американца Ted Kekatos, который посчитал, что пора уже и сисадминам иметь свой собственный профессиональный праздник.

В честь этого события проекты sysadmin.mail.ru и itcommunity.ru проводят Третий Всероссийский Слет Сисадминов под городом Калуга. Но туда я не поеду, я готовлюсь к iCamp, до которого осталось уже меньше двух недель.

Повторю просьбу: если кто-то из читателей тоже поедет на iCamp из Петербурга, отпишитесь.

Кстати,сегодня сообщили, что кроме всего прочего на iCamp будет устроен конкурс с призами от самой Opera Software. Суть конкурса - создание лучшего веб-приложения, помогающего людям общаться любым оригинальным способом. Участвовать в конкурсе смогут все, кто приедет на iCamp 2008.

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



FeedBurner: проверьте свои фиды

19 комментариев

Работая над одной идеей, связанной с RSS, заметил, что больше половины всех FeedBurner-лент блогеров работают не совсем правильно. Дело в том, что при определённой настройке FeedBurner меняет в ленте все ссылки на редиректные, находящиеся на своём сервере. Таким образом, если на каком-то аггрегаторе выводятся ссылки на ваши последние статьи, то ведут они не на ваш сайт, а на FeedBurner, с которого уже перебрасываются к вам. С точки зрения пользователя это не заметно, а с точки зрения SEO — это маленькая катастрофа, так как вес в большинстве случаев не передаётся.

Сегодня вместе с Диким мы разобрались как решить эту проблему.

Решения два:

1. Если вы только создаёте RSS-трансяляцию в FeedBurner, то на втором этапе не ставьте галочку «Clickthroughs«.

FeedBurner Fix 1

2. Если лента уже существует, то зайдите в раздел «Analize» — «Site Stats» и снимите галочку с «Item link clicks».

FeedBurner Fix 2

Это всё. Теперь все ссылки на оригинал записи в ленте и в аггрегаторах будут вести прямо на ваш блог. Что от этого теряет статистика FeedBurner? Учёт кликов по заголовкам. Но его, в общем-то, никто и не смотрит.



Агава: как это было

14 комментариев

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

Agava vs Zhilinsky

Теперь, когда все карты открыты, можно разобраться — что же произошло на самом деле.

Краткая предыстория: в далёком 2000-м году я сделал сайт и выложил его на бесплатный хостинг Hut.ru. А в этом году я захотел его оттуда забрать, так как это была моя первая работа на PHP, а резервные копии погибли вместе с жёстким диском Seagate. Задача была простая: попросить техподдержку Hut.ru (а это один из старых проектов Агавы) выслать логин и пароль от FTP на регистрационный e-mail.

Но все попытки связи с техподдержкой оканчивались одним — саппорт утверждал, что всё выслано, а я получал письма о том, что мне благополучно сменили пароль к MySQL. Естественно, толку от этого не было, да ещё и сайт перестал работать. После очередной моей попытки восстановить доступ, саппорт просто перестал мне отвечать.

Не найдя на сайтах Агавы иных способов связи, израсходовав свои знакомства с их бывшими сотрудниками и убедившись, что угрозы огласки саппорт не воспринимает, я решил действовать. Всю эту историю с логом переписки я выложил в ЖЖ, а для лучшего восприятия продублировал на Roem.ru, заручившись согласием главреда.

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

Я: Мне жаль, что пришлось довести до такого. Надеюсь всё же, что сапорт отучится игнорировать пользователей.
Агава: Да там всем досталось, включая их руководителя…

Не исключаю, что платные услуги Агава оказывает на достойном уровне — я просто ими никогда не пользовался. Поэтому мне слегка неудобно перед сотрудниками их платного отдела, чью репутацию я ненарочно слегка покорёжил. А вот «бесплатный» отдел (да какой он бесплатный — они на рекламе зарабатывают) получил по заслугам за неумение диагностировать решать собственные проблемы.

Я к чему это всё… К нам пришёл Web 2.0. Если у вас есть репутация адекватного человека, то восстановить справедливость в 99% случаев можно и нужно. Может, я и лишил Агаву пары потенциальных клиентов, но по крайней мере я восстановил справедливость и выяснил, что адекватные люди там есть и достучаться до них можно. Им — спасибо.



Переходим на собственный блог

32 комментария

Standalone-блогЭтот пост предназначался для ЖЖ, но мне захотелось опубликовать его здесь. Пост, как говорится, по многочисленным просьбам — я публикую свою инструкцию для ЖЖ-блогеров о том, как завести себе самостоятельный блог с наименьшим числом проблем и вопросов.

Итак, что нам нужно для этого сделать?

  • Найти хостинг.
  • Получить доменное имя.
  • Установить WordPress.
  • Настроить свой новый блог.

Хостинг стоит денег. Есть и дешёвые, есть и бесплатные варианты, но… поверьте, люди арендуют VDS и платят за хостинг не просто так. К одному из своих сайтов, созданных на бесплатном хостинге, я не могу получить доступ уже 5 лет (пламенный мой привет Агаве — яркому примеру отстойного хостинга).

Из достойных российских предложений я рекомендую Majordomo — у них круглосуточная техподдержка и всегда всё работает. Кроме того, WordPress на их хостинге устанавливается автоматически. Тариф «Солнечный» обойдётся вам в 175 рублей в месяц, а при оплате за 3 месяца домен вам дадут в подарок. Итого — 525 рублей за домен навсегда и хостинг на 3 месяца.

Опять же по ряду причин рекомендую выбрать доменное имя в зоне RU, желательно без дефисов и цифр и не длиннее 10 символов. Так имя будет смотреться серьёзно, а сайт будет хорошо индексироваться поисковыми системами.

После оплаты хостинга и выбора доменного имени вам останется только нажать на кнопку «Создание сайта» в панели управления и в пару кликов получить установленный WordPress.

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

Если ваша цель — писать, то можете приступать.



iCamp 2008 — активисты рунета в юртах

25 комментариев

iCamp 200831 июля стартует iCamp 2008 – первая в России неформальная конференция интернет-активистов, проходящая в формате barcamp.

Она пройдёт в 100 километрах от Москвы рядом с городом Боровск (Калужская область), впрочем из Москвы будет организована доставка на место проведения.

Насколько я понял, этот «слёт» как раз для тех, кто скучным лекциям, повторяющимся из года в год (вспомнили СПИК), предпочитает неформальное кулуарное общение и решение вопросов на месте.

Организаторы обещают абсолютно неформальную и неформатную атмосферу, и судя по их



17 июня не забудьте скачать FireFox 3.

30 комментариев

Firefox Download DayЭто официальная дата релиза отличного браузера и день, в который разработчики установят мировой рекорд по числу загрузок программы за сутки. И мы им в этом поможем.

Если верить данным Google Analytics, то среди моих посетителей более 41% использует этот браузер, но среди моих читателей (минус поисковый траффик) этот процент намного выше.

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

Download Day - Russian

Поэтому жмём по кнопке, обещаем помочь с рекордом, 17 июня скачиваем новую версию FireFox,
и радуемся новым возможностям самого популярного среди блогеров браузера. На данный момент более миллиона пользователей из разных стран пообещали загрузить Firefox 3, в том числе почти 35 тысяч пользователей из России.

И помните, Internet Explorer — это всего лишь программа, которая позволяет скачать FireFox :-)

Жилинский Владимир.



Как сделать облако тегов на PHP.

41 комментарий

Облако тегов«Облако тегов» или «Облако меток» (англ. tag cloud) — визуальное представление списка ярлыков. Частота упоминаний, поисков, ссылок в интернете с определенного сайта неких слов, терминов, имен, отображается в виде изображения этих слов в формате гиперссылок. Размер изображения тем больше, чем выше релевантность данного слова.

Теги для многих удобнее категорий, и, наверное, поэтому без них сейчас не обходится ни один проект в концепциях Web 2.0. Для многих CMS есть модули или плагины, выводящие облако тегов. WordPress поддерживает такую функцию начиная с версии 2.3.

Но мне захотелось вывести такую штуку на самописном движке сайта «Коллеги: 1000 IT-блогов«. Реализация оказалась проще, чем я думал.

  • 1. Создал таблицу соответствий «Тег — Число».
  • 2. Заполнил её (несложная функция, подсчитывающая число вхождений тега в таблице блогов).
  • 3. Рассчитал максимальное значение и исходя из него — популярность каждого тега в процентах.
  • 4. Разделил теги на группы по популярности и назначил им CSS-классы.
  • 5. Подготовил соответствующие CSS-классы для отображения.
  • 6. Вывел облако на страницу блоком.

скачать PHP скриптTagCloud.phps - формирование облака тегов.

В тексте исходника — все инструкции, дамп таблицы и CSS-классы. Посмотреть этот код в действии можно в «Коллегах».

Жилинский Владимир.



Комплект PHP-функций для работы с UTF-8.

20 комментариев

PHP UTF-8Вдогонку к заметкам о морфологическом антимат-фильтре на PHP, функциях для экстренного конвертирования в UTF и обратно и функции для защиты от XSS-атак, публикую потрясающую по полезности находку.

Это полнейший must have для PHP-программистов — если даже и не включать это в готовый код, то для отладки — бесценно. Я уже не знаю, что бы я делал без функции is_utf8, например. Поэтому качаем архив, распаковываем его себе и пользуемся, изучив и сохранив описание.

Этот сборник продвинутых функций для работы с UTF-8 текстом создан коллективным разумом форума программистов и усилиями Рината Мухтарова. Скачать архив.

Далее — список доступных функций и их описания:

1. censure. Функция определяет наличие мата (нецензурных, матерных слов) в тексте. Возвращает false, если мат не обнаружен, иначе обнаруженное матерное слово. Алгоритм достаточно надежен и быстр, в т.ч. на больших объемах данных. Метод обнаружения мата основывается на корнях и предлогах русского языка, а не на словаре, поэтому скорость очень высока.

2. cp1251_to_utf8_recursive. Функция для перекодировки данных произвольной структуры из кодировки cp1251 в кодировку UTF8.

3. cp1259_to_utf8. Конвертирует текст из кодировки cp1259 и cp1251 в кодировку UTF-8.

4. html_template. HTML-ориентированный шаблонизатор с автоматическим квотированим значений меток-заменителей.

5. html_words_highlight. «Подсветка» найденных слов для результатов поисковых систем.

6. hyphen_words. Расстановка «мягких» переносов в словах.

7. is_utf8. Возвращает true усли переданная строка — правильный UTF-8, иначе false.

8. php2js. Конвертирует данные PHP из scalar, array и hash в данные JS в scalar/array/hash.

9. strip_tags_smart. Более продвинутый аналог strip_tags() для корректного вырезания тегов из html кода. Возможности:

— корректно обрабатываются вхождения типа «a < b > c».
— корректно обрабатывается «грязный» html, когда в значениях атрибутов тагов могут встречаться символы < >.
— корректно обрабатывается разбитый html.
— вырезаются комментарии, скрипты, стили, PHP, Perl, ASP код, MS Word теги.
— автоматически форматируется текст, если он содержит html код.
— защита от подделок типа: «<script>alert(‘hi’)script>».

10. textarea_rows. Вычисляет высоту области редактирования текста (<textarea>) по значению и ширине.

11. ucs2_to_utf8. Преобразует строку из кодировки UCS-2 в UTF-8, без использования iconv.

12. utf8_autoconvert_request_charset. Перекодирует значения элементов массивов $_GET, $_POST, $_COOKIE, $_REQUEST, $_FILES из кодировки cp1251 в UTF-8, если необходимо. Побочным положительным эффектом функции является защита от XSS атаки с непечатаемыми символами на уязвимые PHP функции.

13. utf8_check. Пытается определить, находится ли строка в кдировке Unicode.

14. utf8_convert_case. Конвертирует регистр букв в строке в кодировке UTF-8.

15. utf8_escape. Перекодирует строковые объекты так, чтобы они читались везде.

16. utf8_html_entity_decode. Конвертирует все HTML-entities в символы UTF-8.

17. utf8_html_entity_encode. Конвертирует спецсимволы UTF-8 в HTML-entities.

18. utf8_simple_search_sql. Создает условия для простого поискового SQL запроса, основанного на LIKE и REGEXP.

19. utf8_str_limit. Обрезает текст в кодировке UTF-8 до заданной длины, причём последнее слово показывается целиком, а не обрывается на середине.

20. utf8_strlen. Расширенная функция strlen() для работы со строками в utf-8.

21. utf8_substr. Расширенная функция substr() для работы со строками в utf-8.

22. utf8_ucfirst. Преобразует первый символ строки в кодировке UTF-8 в верхний регистр.

23. utf8_ucwords. Преобразует в верхний регистр первый символ каждого слова в строке в кодировке UTF-8, остальные символы каждого слова преобразуются в нижний регистр.

24. utf8_unescape. Функция декодирует строку в формате %uxxxx в строку формата UTF-8.

25. utf8_unescape_recursive. Рекурсивный вариант utf8_unescape().

26. utf8_unescape_request. Корректирует глобальные массивы $_GET, $_POST, $_COOKIE, $_REQUEST, декодируя значения в юникоде, закодированные через функцию javascript escape() ~ “%uxxxx”.

Жилинский Владимир.



СПИК-2008: Присоединяйтесь!

4 комментария

6 июня 2008 года в отеле «Ольгино» состоится III Санкт-Петербургская интернет-конференция (СПИК – 2008), посвященная актуальным тенденциям развития интернета в России и Северо-Западном регионе в частности.

Я для себя примерно набросал следующий маршрут:

СПИК-2008

  • Как повысить эффективность медийной рекламы (Александр ЯКУТСКИЙ).
  • Как повысить эффективность контекстной рекламы (Алексей ДОВЖИКОВ).
  • Интернет-сообщества и социальные сети, секреты успеха (Дмитрий КРАВЧУК).

Для себя можете тоже повыбирать — вот полная программа СПИКа СПИК.

Ещё планирую принять участие в неофициальной мини-конференции Александра Мусаева Лес на СПИКе в кулуарах СПИКа, на которую приглашаются Лес на СПИКе все желающие пообщаться в таком формате.

Жилинский Владимир.




© 2007-2010 Блог интернет-разработчика, автор — Zhilinsky.ru.
При использовании информации ссылка на источник обязательна.