Position relative, overflow, IE 7 bug

Идея проста: есть некий элемент DIV с полосой прокрутки и большим количеством элементов внутри. В моём случае использовалась своя прокрутка через JS. Всё прекрасно работает в FireFox, Opera и даже в IE8, вот только IE7 подвёл.

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

position:relative;

И таком и сяком, а не выходит каменный цветок… Как оказалось проблема решается просто: нужно поставить такое же свойство relative на родительский элемент с прокруткой.

Заголовки сервера Apache, делаем безопаснее

Есть немаловажный момент связанный с безопасностью сервера, а следовательно и сайтов на нём расположенных… касается он информации отдаваемой в заголовках. Рассмотрим самые интересные, а зачастую и исчерпывающе-информативные заголовки: Server и X-Powered-By.

Заголовок Server может поведать нам о сервере, операционной системе, версии PHP и даже некоторых модулях. Думаю, что пагубность такой информации объяснять не нужно, ибо совершенного софта не бывает.

Заголовок X-Powered-By может наделить нас знанием о версии PHP, например. Опять же — лишняя брешь в безопасности.

Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g
X-Powered-By: PHP/5.2.6

Есть несколько путей решения проблемы:

  • пересборка Apache с изменённым параметром AP_SERVER_BASEPRODUCT в файле include/ap_release.h;
  • изменение директивы SecServerSignature при установленном mod_security;
  • правка заголовков при помощи mod_headers.
  • редактирование файлов конфигурации Apache и PHP.

Continue reading

Полноценный модуль php5-gd для Debian и Ubuntu

По умолчанию PHP функции imageantialias() и imagerotate() отключены в модуле gd.so для Debian и его производных. Сделано это ради обеспечения стабильности и безопасности. Задумка может и благая, но раз мы ищем решение этой проблемы, значит оно того стоит. Например Drupal не захочет работать с урезанным модулем.

По сути достаточно пересобрать PHP и установить новый полноценный пакет php5-gd. Сделать это совсем не сложно, хотя описание будет достаточно подробное. Собирать будем из исходников, что само по себе интересно =)

Далее все действия производятся в рутовом терминале или в обычном через команду sudo. Для наглядности буду писать без sudo. Continue reading

Настройка всплывающих сообщений в Skype для Linux

Стандартные всплывающие окна в Skype под Linux мягко говоря не радуют. Есть возможность настроить такие сообщения на один лад с системными, и это касается не только Skype, но мы возьмём это как пример.

Всё нижеописанное было испытано на ОС Ubuntu 9.10, но подойдёт и для Debian. Вот например простой код для консоли:

notify-send "Hello world!"

Он создаёт системный попап с произвольной надписью. Чтобы он вообще заработал следует установить библиотеку libnotify-bin:

sudo aptitude install libnotify-bin

Как нам это поможет и поможет ли это Skype? В Skype можно произвести детальнуб настройку уведомлений, т.е. тех самых всплывающих нотификаций. Continue reading

Установка Adobe Flash PLayer на Debian

Достал плагин для флеша «по-умолчанию» в Firefox на Debian? Можно установить обычный flash plugin, никаких танцев с бубном для этого не требуется, достаточно сделать 2 простых вещи.

Первое. Добавим известный репозитарий backports в список наших источников. В моём случае использовался репозитарий для Debian Lenny:

deb http://backports.debian.org/debian-backports lenny-backports main

Добавить можно через меню: Система -> Администрирование -> Источники приложений; или непосредственно в файл источников /etc/apt/sources.list через терминал.

Этот репозитарий вообще достаточно полезен. В стабильной ветке Debian не всегда можно найти свежий пакет который бы решил зависимости и удовлетворил запросы. В репозитарий backports входят тестируемые и не особо стабильные решения, перекомпилированные специально для stable ветки системы.

Дальше всё предельно просто, набираем в терминале:

sudo aptitude install flashplugin-nonfree

Флеш-плагин у становлен и должен работать хорошо. Конечно nonfree программы и backports репозитарий не привносят дзен на наши жёсткие диски, но нужно же с чем то бороться?))

Установка Debian 5 Lenny на ноутбук Dell Inspiron 1501

После запуска установки с диска Lenny, появляется меню для выбора опций установщика Debian. Всё бы ничего, да вот только с ACPI у нашего ноута проблемы.

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

acpi=off

Чтобы добавить этот параметр в строку установки, нужно нажать кнопку Tab и просто дописать в конце вышеуказанную пару «параметр=значение».

После успешной установки Debian, ACPI нужно вернуть обратно. Для этого отредактируем следующий файл загрузчика с правами пользователя root:

sudo nano /boot/grub/menu.lst

Исправим значение, например:

kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda1 ro acpi=on quiet