Исправление проблемы обхода хранителя экрана в X11

В X.Org Server 1.11 обнаружена уязвимость, позволяющая через манипуляции с клавиатурой обойти режим блокировки экрана и получить доступ к заблокированному рабочему окружению пользователя.

Подробности либо по ссылке выше, либо на OpenNet. Далее »

Автор: , опубликовано в: Linux, Безопасность, комментариев: 3
19
Янв
2012

Автоматическое добавление ссылки на источник при копировании текста с сайта

Идея: когда пользователь выделяет часть текста и копирует её в буфер обмена (например, чтобы выложить на своём сайте), автоматически добавлять к выделению ссылку на источник. Далее »

Автор: , опубликовано в: JavaScript, комментариев: 9
14
Янв
2012

Qt, libfcgi и многопоточность

Для создания приложений на есть библиотека libfcgi. Не буду вдаваться в дискуссию, зачем нужны приложения FastCGI на C/C++/подставить нужный язык, когда Python//Perl/подставить нужное гораздо удобнее. Отмечу лишь, что по работе понадобилось написать FastCGI-приложение на (в основном из-за наличия нескольких высокопроизводительных библиотек, написанных на , но не суть).

Строго говоря, libfcgi, хотя и является официальной библиотекой от создателей протокола, не лучший вариант для поддержки FastCGI — API, предоставляемое библиотекой, сильно ограничено (в плане функциональности) и недостаточно гибко. Далее »

Автор: , опубликовано в: Qt, комментариев: нет
8
Янв
2012

Обход плагина WP Hashcash

WP Hashcash — очередной для борьбы со спамом. Принцип работы основывается на том, что -боты не умеют исполнять . Идея в том, что если пользователь открыл сайт из браузера, браузер выполнит некоторый хитрый код , и реузльтат работы этого скрипта будет передан назад на сервер в качестве доказательства «человечности» комментатора. Далее »

Автор: , опубликовано в: Безопасность, Плагины WordPress, комментариев: 2
26
Дек
2011

Уважаемый Дмитрий

  1. Идём на Google Translate
  2. Выбираем перевод с русского на анлийский
  3. Вводим фразу Уважаемый Дмитрий
  4. Наслаждаемся переводом :-)

Далее »

Автор: , опубликовано в: Всё подряд, комментариев: 11
2
Дек
2011

SQLMon для Yii

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

Ситуацию частично исправило расширение под названием Yii DB profiler. Но остались некоторые неудобства:

  • Отображение запросов в порядке убывания времени выполнения — в принципе, это дело вкуса: при таком порядке сразу видны проблемные запросы. С другой стороны, лично мне более привычен хронологический порядок — так чётче прослеживается логика работы;
  • Prepared statements. Это просто здорово, но если повторять запрос в phpMyAdmin (например, если интересует план выполнения запроса), бывает очень муторно заменять все связанные значения. Например, для запросов вида
    [-]
    View Code MySQL
    SELECT 't'."object_id" AS "t0_c0", 't'."ymd" AS "t0_c1", 't'."black" AS "t0_c2", 't'."brown" AS "t0_c3", 't'."yellow" AS "t0_c4",
    't'."neutral" AS "t0_c5", 't'."white" AS "t0_c6", 't'."unknown" AS "t0_c7", 't'."error" AS "t0_c8", 'object'."object" AS "t1_c2",
    'object'."id" AS "t1_c0"
    FROM 'dnsbl_summary' 't'
    LEFT OUTER JOIN 'objects' 'object' ON ('t'."object_id"='object'."id")
    WHERE (((black > 0) OR (brown > 0)) AND
    (((((((((ymd=:ycp0) AND (black>:ycp1)) AND (brown=:ycp2)) AND (yellow=:ycp3)) AND
    (neutral>:ycp4)) AND (white>:ycp5)) AND (unknown=:ycp6)) AND (black>:ycp7)) AND
    (error=:ycp8))) AND (object.enabled = 1)
    LIMIT 50
    заменять все :ycpXXX на их значения немного муторно. В общем случае здесь вряд ли можно что-то сделать — заполнители параметров могут быть любыми (и даже позиционными), поэтому тупое использование str_replace может наделать делов.

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

  1. Оценка работы механизмов кэширования;
  2. Оценка плана выполнения запроса, составленная оптимизатором.

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

В результате, взяв за основу Александра, я портировал SQLMon на Yii.
Далее »

Автор: , опубликовано в: Yii, комментариев: нет
22
Ноя
2011

HTML Parser для Qt

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

В есть множество классов для работы с XML, но они не подходят для HTML, так как ошибки в HTML для них фатальны.

Ниже приведён вариант парсера для HTML, основанный на библиотеке libxml2. Далее »

Автор: , опубликовано в: Qt, комментариев: 3
7
Сен
2011

Linux, консоль и деванагари

Недавно отлаживал небольшой скрипт, транслитерирующий текст, записанный в системе IAST или ITRANS, на деванагари. Так как на домашней машине стоит , то логично, что скрипт отлаживался в  — в терминале.

И тут меня ожидал огромный сюрприз… Далее »

Автор: , опубликовано в: Linux, Всё подряд, комментариев: 2
5
Сен
2011

Установка Skype на Ubuntu Oneiric Ocelot AMD64

Прошло два года… Единственное изменение — в текущей бете в репозитории partner нет. Вообще.

Skype из не прижился: проблема с зависимостями: ia32-libs зависит от lib32v4l-0, который зависит от libv4l-0 версии 0.8.3-2, при том, что в репозитории есть только 0.8.5-31. Понятно, что проблему с зависимостями в конце концов исправят, но без Skype плохо. Далее »

Автор: , опубликовано в: Linux, комментариев: 16
26
Авг
2011

nspluginwrapper: no appropriate viewer found for /usr/lib/flashplugin-installer/libflashplayer.so

При обновлении до текущей альфы на архитектуре AMD64 возникает неприятная при обновлении пакета flashplugin-installer (Flash Player):


package flashplugin-installer 10.3.183.4ubuntu3 failed to install/upgrade:
nspluginwrapper: no appropriate viewer found for /usr/lib/flashplugin-installer/libflashplayer.so
Далее »

Автор: , опубликовано в: Linux, комментариев: нет
22
Авг
2011