Работа с сессиями в Perl

Date May 24th, 2010 Author Vitaly Agapov

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

В Perl работу с сессиями обеспечивает модуль CGI::Session. Он позволяет сохранять данные о сессиях в файлах или в базе данных. Подерживаются в том числе такие вещи, как DB2 или SQLite. Нас же интересует в основном MySQL (CGI::Session::Driver::mysql).

Читать далее »

Tags: ,
Категория: MySQL, Perl, Web-dev | 6 Комментариев »


Garmin и Linux

Date April 25th, 2010 Author Vitaly Agapov

На полдороге нашей жизни трудной
В неведомый и тёмный лес вступил,
Утратив путь прямой в дремоте чудной.
— Данте Алигьери // «Божественная комедия»

Обладание навигатором Garmin требует иногда вспоминать о таких вещах как обновление прошивки, обновление карт, загрузка новых карт и так далее. Всё это делается с помощью набора программ, и единственная здесь проблема в том, что программы эти сплошь виндовые. Впрочем, и проблемой это можно назвать лишь номинально. В общем, выходы ясны – либо для обслуживания навигатора экспроприировать виндовый ноутбук жены, либо сделать всё по-нашему. Сразу скажу, что использовать нативные линуксовые приблуды вроде GPSBabel не буду, очень уж лень разбираться.

Читать далее »

Tags: , ,
Категория: Linux | 1 Комментарий »


Заметки об Apache, часть 1: Архивация и клиентское кэширование

Date April 22nd, 2010 Author Vitaly Agapov

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

Читать далее »

Tags:
Категория: Apache, Web-dev | 1 Комментарий »


Скрипт, умеющий авторизоваться на Web-странице

Date April 14th, 2010 Author Vitaly Agapov

В очередной раз столкнулся с очередной задачкой: необходимо написать скрипт, умеющий логиниться на Web-страницу и выполнять на ней некоторые действия от имени зарегистрированного пользователя. Задачка, естественно, решилась при помощи Perl, а также двух модулей – LWP::UserAgent и HTTP::Request::Common. Причём, второй совершенно необязателен, но для общего развития пусть будет. И чтобы в будущем не повторять заскоков на cpan.org и усердного чтения perldoc, приведу вариант такого скрипта здесь.

Читать далее »

Tags:
Категория: Perl | 1 Комментарий »


db2top – утилита для мониторинга DB2

Date April 10th, 2010 Author Vitaly Agapov

Мы достигли точки критической массы, когда количество памяти, которую мы экстериоризировали в книги и базы данных, сейчас превышает количество памяти, хранящейся внутри совокупности наших биологических тел. Другими словами, «снаружи» памяти больше, чем существует внутри «всех нас». Мы перепрограммировали свою сущность.
— Дуглас Коупленд // Рабы «Майкрософта»

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

Рассматриваемая версия – DB2 9.5

Читать далее »

Tags:
Категория: DB2 | Нет комментариев »


Восстановление пароля от MySQL

Date April 1st, 2010 Author Vitaly Agapov

Незачем придумывать предыстории и искать подоплёку. Есть простая проблема – у нас есть MySQL, но нет пароля к пользователю root или к любому пользователю “with grant option”.
Решается задача так:

Читать далее »

Tags:
Категория: MySQL | Нет комментариев »


Рецепты iptables

Date April 1st, 2010 Author Vitaly Agapov

Знать и помнить все особенности iptables – это очень здорово. Но маловероятно. К тому же на просторах сети иногда попадаются интересные находки в плане обеспечения безопасности. Иногда сам что-то придумаешь и хочется записать. В общем, решил сделать подборку примеров использования iptables на будущее.
Ещё недавно была статья по главным концепциям iptables – Memento iptables. Буду считать, что это её логическое продолжение. Тем более, что изначально не было планов разделять информацию на два разных поста.
Читать далее »

Tags: ,
Категория: Linux, Security | Нет комментариев »


Memento Mori iptables

Date March 30th, 2010 Author Vitaly Agapov

Look around just people, can you hear their voice
Find the one who’ll guide to the limits of your choice
The experience of survival
Try to think about it…
That’s the chance to live your life and discover
Try to think about it
The experience of survival
— Enigma // The Screen Behind The Mirror

Вынужден признать, что настраивать межсетевой экран netfilter в Линуксе приходится чрезвычайно редко, отчего каждый раз многое приходится вспоминать и нагугливать заново. В связи с этим решил написать себе ещё одну памятку, к которой по мере надобности можно обращаться. Катарсиса не будет, так что за подробной документацией и руководствами можно пойти по ссылкам, перечисленным в конце статьи.
Итак, что мы имеем. В состав ядра Linux версии 2.4 и выше входит компонент netfilter, выполняющий функции фильтрации и преобразования трафика, то бишь брандмауэр (он же файрволл). Напомню, что в более старых версиях ядра был ipchains. Так вот. Для управления этим брандмауэром используется утилита iptables, позволяющая создавать цепочки, указывать правила, критерии и действия по умолчанию, добавлять счётчики, проверять корректность параметров и кое-что ещё.
Смотрим…

Читать далее »

Tags: , ,
Категория: Linux, Security | 4 Комментариев »


MetaTrader 4 и Linux

Date March 13th, 2010 Author Vitaly Agapov

Когда речь заходит о возможности использования MetaTrader в Linux, на ум приходят два варианта, как этого добиться. Первый вариант – это запуск в виртуальной машине с установленной Windows (Virtual Box или WMware), а второй способ – это Wine. Вариант с виртуальной машиной долгое время оставался де факто единственным подходящим вариантом, ибо в Wine MetaTrader безбожно глючил, некорректно работали многие функции (вроде тестировщика стратегий), программа могла в любой момент с радостью вылететь, и это даже не вспоминая о некорректном отображении некоторой информации, шрифтов, графиков и прочего. Но проект Wine развивается и допиливается, и сейчас в этом вопросе он вполне может заменить вариант с виртуальной машиной.
Взглянем на вопрос с практической стороны. Для этого нам понадобится Wine версии не ниже 1.0.1, наш любимый Linux (в моём случае – Ubuntu 9.10) и дистрибутив MetaTrader.
Читать далее »

Tags: , ,
Категория: Linux | 9 Комментариев »


Настройка SSL в Apache и Tomcat

Date March 2nd, 2010 Author Vitaly Agapov

“—Я вам посылку принёс, только я вам её не отдам, потому как у вас докУментов нету
—Усы, лапы, хвост — вот мои документы!”
— «Каникулы в Простоквашино»

Сегодня посмотрим, как обеспечить поддержку шифрованного протокола https для контейнера сервлетов Tomcat. Причём рассмотрим проблему с двух сторон: как обеспечить поддержку https, если фронтэндом является Apache, и как её обеспечить, если Tomcat сам выполняет функции web-сервера. В целом, это достаточно несвязанные задачи, и их просто можно в отрыве от контекста рассматривать как настройку SSL для двух различных приложений.

Вообще, SSL (Secure Socket Layers) – это протокол шифрования трафика с использованием криптографии с открытым ключом (асимметричной криптографии). Непосредственно для шифрования требуется только открытый ключ и закрытый ключ сервера. А для аутентификации сервера, то есть для проверки, что сервер, с которым контактирует клиент и передаёт ему некоторые конфиденциальные данные тот, за который он себя выдаёт – требуется сертификат. Сертификат, подписанный доверенным Certificate Authority (CA) даёт такую гарантию. При более низких требованиях к безопасности можно использовать самоподписанные сертификаты.

Всё нижеописанное производилось и проверялось с Apache 2.2.12 и Tomcat 6.0.24 на операционных системах CentOS 5.4 и Ubuntu 9.10 c JDK 1.6.0.18.
Читать далее »

Tags: , ,
Категория: Apache, Security, Web-dev | 19 Комментариев »