Archive for the ‘ Web ’ Category

Ubuntu 14.04 — Downgrade PHP to 5.2 version

Столкнулся на работе с переносом древнего проекта написанного на PHP 5.2 Пробовал запустить его на свежем пыхе — не получилось. Пообщавшись с разработчиком выяснил что взлетит только на PHP 5.2 Особо вникать не стал … надо так надо! Хостер предоставил чистенькую виртуалочку с Ubuntu 14.04 Вот так пришлось извернуться чтобы на свеженькую убунту поставить пых закостенелой версии. Читать полностью

Тюнинг Mozilla Firefox «Под анонимность!»

Для правки скрытых параметров в Firefox нужно набрать в адресной строке about:config. Все что перечислено ниже — настраивается именно там:

— Запрещает поддержку протокола WebRTC, текущая реализация которого позволяет незаметно для пользователя получить список IP-адресов в его локальной сети (с помощью JavaScript), что повышает уникальность пользователя. Подробнее …

media.peerconnection.enabled = false

Читать полностью

Настройка nginx + GeoIP на FreeBSD

Зачем это надо? Да много чего можно наворотить! Например разным странам выдавать разный контент, проксировать трафик на разные сервера и тд. Мне, например, для ограничения нежелательного трафика на некий тестовый web-сервер. Хочу дать туда доступ только из Украины, остальных — в баню!
У меня уже был установлен и настроен nginx, поэтому тут упомяну только о включении в его сборку необходимого модуля.
Для начала я установил GeoIP из портов:

root@gw:~# cd /usr/ports/net/GeoIP
root@gw:/usr/ports/net/GeoIP# make install clean

После этого проверил стоит ли в собранном ранее nginx необходимый флаг HTTP_GEOIP:

root@gw:/usr/ports/net/GeoIP# cd /usr/ports/www/nginx
root@gw:/usr/ports/www/nginx# make config

Читать полностью

Анонимность в сети = Tor + Privoxy + Debian

Думаю не стоит отвечать на вопрос «Для чего это?». В свете последних событий … это становится нормой жизни в Интернет!
Итак, поехали! На машине с Debian stable устанавливаем tor и privoxy.

root@deb:~# apt-get install tor privoxy

После этого настроим privoxy вот так:
Читать полностью

apache-itk-mpm и виртуальный хостинг

Итак, рано или поздно возникает задача в духе: «А как бы нам организовать хостинг нескольких клиентов с их сайтами так чтобы они не имели друг к другу доступа и не было проблем с доступом к файлам через web/ftp/ssh?». Тут уже обычный стандартный apache не справляется и нужно городить некую более сложную конфигурацию. К счастью, задача эта не уникальна и поэтому давным давно есть готовые решения. Одним из них есть модификация apache2 под названием apache-itk-mpm. Он позволяет запускать от имени определенного в конфигах системного пользователя некий виртуалхост апача. Тоесть получаем чтото в духе некоего изолированного контейнера для нужного пользователя или ряда оных. Туманно объяснил, но по конфигам это более понятно. Итак, поехали! Читать полностью

Apache22 и сжатие контента

Решил вот опробовать сжатие контента апачем. Давно присматривался к этий фишке, много положительного слышал … наконец дошли руки настроить.
Делал на FreeBSD 9-той ветки, добавляем в настройки виртуалхоста такое:

root@black:~# cat /usr/local/etc/apache22/extra/httpd-vhosts.conf
<virtualhost *:80>
...............
    <ifmodule mod_deflate.c>
        DeflateCompressionLevel 5
        AddOutputFilterByType DEFLATE application/javascript
        AddOutputFilterByType DEFLATE text/javascript
        AddOutputFilterByType DEFLATE text/css
        AddOutputFilterByType DEFLATE text/html
         </ifmodule><ifmodule mod_setenvif.c>
                BrowserMatch ^Mozilla/4 gzip-only-text/html
                BrowserMatch ^Mozilla/4\.0[678] no-gzip
                BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
         </ifmodule>
   
................
</virtualhost>

После чего пробуем google-chrom-ом зайти на страничку и посмотреть что будет с передаваемыми данными. Для этого открываем консоль разработчика, нажатием Ctrl + Shift + J, и выбираем вкладку «Network» Читать полностью

WordPress Plugin «Spam-stopper» — небольшая модификация.

Помню после создания блога долго не парился над таким вопросом как защита от спам-комментов. Но время шло, и через полгодика-год, мой блог стал собирать около 10-20 спам-комментов в сутки. Конечно же это начало напрягать. Покопавшись в плагинах wp я нашел отличное решение моей проблемы — Spam-Stopper. Этот плагин добавляет проверочный вопрос в форму коммента, коммент принимается на модерацию только когда написать правильный ответ. Вопрос можно сменить в админке wp. Плагин простой но довольно эффективно защищал меня от спама. Но прошло еще гдето полгода и к этой защите боты нашли «лазейку» и комменты поползли в прежнем объеме и даже больше. Я уж подумал что вопрос разгадали — сменил, не помогло …. эх. Но бага (или скорее недочет разработчика) оказалась в работе самого плагина, так как плагин выдавал правильный ответ на контрольный вопрос в случае неправильного ответа. Видать боты просто научились парсить ответ и подставлять его в форму коммента. Подумал что неплохо бы подправить код чтобы ответ не выдавался, а просто выдавалось сообщение что ответ неверный. Идею воплотил в жизнь. В файле spam-stopper/spam-stopper.php ищем строчку 138 где написано:

alert("<?php _e('Incorrect anti-spam answer. Please re-answer the question! The correct answer is ',"spamstopper"); echo '\"'.$aspama.'\"'; ?>");

И меняем ее на:

alert("<?php _e('Incorrect anti-spam answer.'); ?>");

Вот и все! У меня спам пропал, чего и вам желаю!
Enjoy!

postfixadmin — ошибка «Cannot redeclare hex2bin()»

После обновления портов на сервере с FreeBSD 8.2 появилась ошибка в postfixadmin:

PHP Fatal error:  Cannot redeclare hex2bin() in /htdocs/www/pa.somedomain.com.ua/public_html/functions.inc.php on line 1338

Оказывается для решения достаточно переименовать функцию hex2bin в convertHex2bin в файле /htdocs/www/pa.encmail.com.ua/public_html/functions.inc.php строчка 1338

#function hex2bin ($str)
function convertHex2bin ($str)

Баг известный, обещали починить еще за Царя Гороха, но чтото видать не сложилось 🙂

Знакомимся с новым форматом графических файлов — Webp

Давно встречал статью о том что google якобы давно уже придумал для себя новый формат хранения собранных ботами гугла по инету графических файлов. Мол jpg сильно устарел и вообще алгоритм сжатия очень не эффективный и тд и тп. Но потом об этом както забылось, так как большого количества информации о новинке найти не удалось.
А сейчас вот случайно наткнулся опять на статью об этом формате не хабре, захотелось попробовать. Интерес подогрело наличие пакета с конверторами в официальных репозиториях Debian. Осталось дело за малым — поставить и проверить!
Устанавливается одним кликом мышки 🙂 Тьфу! Одним пинком клавы в рутовой консоли 🙂

root@deb:~# apt-get install webp

Читать полностью

Установка и настройка Apache + MySQL + PHP во FreeBSD 8.2

Установка apache2 из пакетов:

[root@gw ~]# pkg_add -r apache22

Для автозапуска добавим опцию в rc.conf

[root@gw ~]# echo 'apache22_enable="YES"' >> /etc/rc.conf

Установка MySQL 5.1 из портов Читать полностью