Как стать автором
Обновить
12
0
Jumbo the Frame @rlaovai

vSphere / SAN engineer

Отправить сообщение

mod_rewrite — просто о сложном

Время на прочтение4 мин
Количество просмотров64K

Что это такое?


mod_rewrite — это модуль для веб-сервера Apache, предназначенный для преобразования URL-ов. Модуль использует в своей работе правила, которые могут быть описаны как в конфигурации сервера (httpd.conf), так и в файлах .htaccess непосредственно в файловой структуре Вашего сайта. Правила описываются в виде регулярных выражений PCRE

Hello world


Простейший пример. Допустим, Вы захотели, чтобы никто не знал, что Ваш сайт написан на PHP и решили замаскировать расширения файлов. Можно, конечно, внести соответствующую директиву в конфигурацию Apache и тогда все файлы с расширением ".msl" («My Super Language») будут обрабатываться интерпретатором PHP. Но можно поступить проще:
создаем в корне нашего сайта файл .htaccess со следующим содержимым
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)\.msl$ $1.php [QSA,L]


Первая директива включает механизм mod_rewrite в текущей папке и во всех ее подпапках. Вторая указывает модулю mod_rewrite, что текущая папка в файловой системе соответствует корню сайта. Третья — непосредственно правило преобразования URL.

Прочесть его можно так:
Если сразу после начала строки ("^") идет произвольное количество любых символов ( "(.*)" ), причем мы хотим запомнить, что именно это за символы, окружая их скобками, затем идет точка ("\.") (экранируем точку, потому что одиночная точка — это просто любой символ), затем символы «msl» и на этом строка заканчивается ("$"), то заменим исходный URL на следующий: возьмем первую запомненную подстроку в скобках из правила, прибавим к ней ".php", добавим все дополнительные параметры адреса, которые могли быть "[QSA]" и на этом закончим, не будем применять дальнейшие преобразования, если они есть "[L]"

Все, теперь Вы можете смело менять все ссылки, заканчивающиеся на ".php" на ".msl" и писать в своем блоге, что изобрели новый скриптовый язык. Apache, встретив ссылку на «index.msl» с помощью mod_rewrite на лету преобразует ее в «index.php» и вызовет нужный скрипт.

А что еще умеет mod_rewrite?


Читать дальше →
Всего голосов 45: ↑33 и ↓12+21
Комментарии12

Вардрайвинг в MAC OS X

Время на прочтение5 мин
Количество просмотров96K


Стандартом де-факто в вардрайвинге обычно считается система Linux (модифицированные драйвера, Kismet в связке с aircrack-ng). Но немногие знают, что в маке есть мощные инструменты для взлома аудита безопасности беспроводных сетей, ни чуть не уступающие, а во многом и превосходящие по функционалу Linux-аналоги.
UPD: Описанные в статье инструменты на сегодняшний день устарели. Рекомендуется использовать Linux

Читать дальше →
Всего голосов 93: ↑82 и ↓11+71
Комментарии89

Маршрутизация в Mac OS при VPN подключении

Время на прочтение2 мин
Количество просмотров104K
Появилась как-то задача подключатся по VPN к рабочей сети, чтобы иметь доступ к внутренним ресурсам.
Средствами Мака это можно сделать создав VPN подключение и 2 варианта:
1. поставить галочку «Слать весь трафик через VPN подключение»
2. статически прописать статически route add -net 192.168.10.0/24 192.168.44.1, где 192.168.10.0/24 — сеть в которой находятся компьютеры на работе, 192.168.44.1 VPN шлюз к которому я подключаюсб.

Итак после каждого подключения нужно делать вторую манипуляцию, так как общий доступ в интернет ограничен и скорость не ахты. Или задача состоит в том чтобы ходить на сайты (например youtube) через более быстрый канал VPN…

Решение ниже
Всего голосов 27: ↑20 и ↓7+13
Комментарии32

Красота в разрушении

Время на прочтение1 мин
Количество просмотров602
В Германии существует некая кантора, Kurzzeit, занимающаяся баллистическими испытаниями и производством техники для этих самых испытаний. На видео можно увидеть различные комбинации пуль и целей со скоростью съемки вплоть до 1 млн кадров в секунду.

Сегодня выходные, и можно потратить 10 минут своего времени, я думаю :)

Всего голосов 76: ↑56 и ↓20+36
Комментарии34

PHPInstaller. Архивация файлов в 1 php файл.

Время на прочтение1 мин
Количество просмотров497
Здравствуйте.

Хочу вам представить свою небольшую разработку, которая облегчит установку скриптов на другой хостинг PHPInstaller.
Достаточно на локальном копьютере указать какие файлы нужны для упаковки, прописать название пакета, версию, автора и собрать пакет в 1 php файл!

Как работает?


Скрипт использует класс PclZip для паковки и распаковки архива.
В процессе работы скрипт создает подобие XML. Пакованный архив кодируется base64_encode, это увеличивает архив на 33%, но лишает пользователя обязательно заливать в бинарном виде, да и есть проблемы в содержании архива в XML.
По этому Base64… :)

После работы скрипта появляется 1 скрипт, который содержит в себе архив и оболочку для распаковки.

От слов к примеру


Покажу пример детальнее на сборке пакета phpMyAdmin.

Шаг1


Запустим скрипт и сразу же впишем название пакета, автора, а также укажем местоположение файлов.
(картинки кликабельны)



Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Комментарии18

TotalFinder — удобный плагин для Finder'а

Время на прочтение1 мин
Количество просмотров16K
Кроме сторонних файловых менеджеров в Mac OS X, которые довольно плохо интегрируются с системой и заменяют Finder (за исключением, пожалуй, Path Finder — он в этом плане довольно далеко продвинулся), можно прокачать обычный Finder :)

Вот уже как пару месяцев существует TotalFinder — плагин для файндера, работающий через SIMBL, позволяющий немного расширить возможности файл-менеджера.

К слову, автором этого плагина является человек, зарекомендовавший себя Visor'ом (Quake-like Terminal.app).

Плюсы, минусы, подводные камни, скриншоты, скачать — под хабракатом.
Читать дальше →
Всего голосов 40: ↑34 и ↓6+28
Комментарии70

Каверзные сетевые вопросы

Время на прочтение14 мин
Количество просмотров226K
Давно была идея собрать воедино интересные вопросы, касающиеся сетей.

Объединяет их то, что все они довольно простые, но мы подчас о них не задумываемся (я во всяком случае о них не задумывался).
В общем я их собрал, подбил, нашёл ответы.
Итак, блиц опрос:

Начнём с самых низких уровней и с самых простых вопросов



В1. Почему для витой пары выбран такой странный порядок: синяя пара на 4-5, разрывая зелёную, которая на 3, 6?




Ответ
О1: Сделано это в угоду двухконтактному телефонному разъёму. Таким образом, например, в патч-панель можно вставить как телефонный кабель, так и витую пару.
Можно даже через один кабель вывести и сеть и телефонию, но я вам этого не говорил!

habrahabr.ru/post/158177.


В2. В стандарте Ethernet между кадрами всегда имеется промежуток, называемый IFG (Inter Frame Gap) длиною 12 байтов. Для чего он нужен, и почему он присутствует в современных стандартах?

Читать дальше →
Всего голосов 166: ↑153 и ↓13+140
Комментарии209

IOPS — что это такое, и как его считать

Время на прочтение4 мин
Количество просмотров333K
iopsIOPS (количество операций ввода/вывода – от англ. Input/Output Operations Per Second) – один из ключевых параметров при измерении производительности систем хранения данных, жестких дисков (НЖМД), твердотельных диски (SSD) и сетевых хранилища данных (SAN).

По сути, IOPS это количество блоков, которое успевает считаться или записаться на носитель. Чем больше размер блока, тем меньше кусков, из которых состоит файл, и тем меньше будет IOPS, так как на чтение куска большего размера будет затрачиваться больше времени.

Значит, для определения IOPS надо знать скорость и размер блока при операции чтения / записи. Параметр IOPS равен скорости, деленной на размер блока при выполнении операции.
Читать дальше →
Всего голосов 52: ↑40 и ↓12+28
Комментарии11

Резервное копирование Mikrotik в Subversion посредством SSH/SFTP

Время на прочтение4 мин
Количество просмотров17K

Вступление:



Попробую поделиться своей реализацией резервного копирования конфигов RouterOS в Subversion посредством SSH/SFTP.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии11

Паттерны ООП в метафорах

Время на прочтение17 мин
Количество просмотров564K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Всего голосов 214: ↑201 и ↓13+188
Комментарии86

OpenGTS open-source решение для отслеживания транспортных средств

Время на прочтение3 мин
Количество просмотров34K

Вступление


48 часов в пути, а то и больше, многие даже не знают, как можно провести столько времени за рулем. Они, конечно, догадываются, что существуют такие профессии как водитель грузовика – дальнобойщик, но, смею предположить, даже не думали о том, что такое долгая дорога и как проводить время за рулем.
Я люблю путешествовать и люблю свой мотоцикл. Было время, когда я мог за сутки преодолевать до 1000 км. Это очень много, даже для такой страны как Россия.

Первое о чем стоит подумать человеку, кто едет очень далеко на собственном транспорте – это безопасность. В дальней дороге может случиться что угодно: аварии, поломки, внезапные проблемы со здоровьем, да и просто может кончиться бензин. Знайте, даже если вы аля волк-одиночка, есть люди, которым вы дороги, кто думает и переживает за вас.

Именно о решении, которое позволяет отслеживать транспортные средства в реальном времени мы и поговорим сегодня.
По-подробнее
Всего голосов 25: ↑24 и ↓1+23
Комментарии33

Частный опыт установки и настройки Asterisk с нуля

Время на прочтение17 мин
Количество просмотров343K
Во-первых, дисклаймер

Настройке Asterisk посвящены сайты, форумы и целые порталы типа voip-info.org. Но всегда есть люди, для которых эта тема – дремучий лес, а запустить продукт надо «вчера». Ещё полтора месяца назад я про Asterisk знал только то что он есть. Данный труд призван лишь несколько облегчить жизнь тем, кто окажется в такой же ситуации после меня. В нём могут быть ошибки любой степени «чайниковости». Если вы гуру настройки Asterisk – укажите на ошибку, я поправлю, потомки будут вам благодарны.
Читать дальше →
Всего голосов 79: ↑75 и ↓4+71
Комментарии56

Мониторинг задержек в подсетях SAN в VMware vSphere 4.1

Время на прочтение2 мин
Количество просмотров2.4K
В этом и ближайших постах мы попробуем раскрыть несколько любопытных технологических моментов из тех, что регулярно встречаются нам в работе. К этому нас отчасти побуждает тот факт, что особенности тарификации, выделения и распределения мощностей – вещь прозаическая, да и постов на эту тему Хабр увидел уже немало. А реальный опыт в решении каких-то мелких, но важных моментов может серьезно пригодиться. Так что spread the word!

image

Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии0

Хорошая новость для тех, кому нужен HPC, HA и просто SSI-кластер, наконец

Время на прочтение1 мин
Количество просмотров9K
У меня для вас есть хорошая новость. Кажется, я сегодня уломал отцов Kerrighed дебианизировать свои труды.

Что это означает для нас, для обычных людей? У вас есть компьютер, где стоит Ubuntu или ещё какой-то Дебиан-подобный Linux? Назовём его Компьютер №1. На нём вы сможете сделать что-то обычное, типа

apt-get install kerrighed-kernel...

ну, вероятно, придётся уж потратить и пару минут на конфигурацию. Далее, перезагрузив Ubuntu, вы увидите новоиспечённое ядро в grub-меню. Выбираете и попадаете в обычную Ubuntu с одним необычным свойством, назовём его "SSI with DRBL"…

Что за зверь «SSI with DRBL»?

Читать дальше →
Всего голосов 87: ↑84 и ↓3+81
Комментарии77

BigBlueButton: открытое решение организации конференций

Время на прочтение4 мин
Количество просмотров80K

Почти уверен что перед каждым ИТ отделом ставилась задача организовать видеоконференцию, или просто конференцию, например с филиалом. Решений задачи много — от дорогих аппаратных до бесплатных софтовых. Хочу обратить внимание хабрсообщества на одно из бесплатных решений этой задачи — BigBlueButton. На хабре уже была небольшая заметка о нем, я попытаюсь рассказать немного подробнее об этом решении, а так же о опыте его внедрения у нас в компании.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии22

Автоматизированная проверка PHP кода при комитах

Время на прочтение6 мин
Количество просмотров34K
В свое время работая в узком кругу программистов, отдельными задачами и даже проектам, мы не задумывались о проблемах связанными с текучкой кадров. Точнее думать — думали, но ни каких мер не применяли, да и в целом коллектив был сплоченный никто не уходил и никого «не уходили». С ростом внутренних проектов и корпоративных клиентов, штат начал разрастаться и казалось, что все отлично — нас больше, значит будем больше успевать и делать, но не тут то было. Мы начали тратить кучу времени на “бесполезные” обсуждения, проверки, излишние проектирование и т.д, больше всего раздражает — это проверка кода. И тут я начал думать, что “мудрые и древние” наверняка решали эти проблемы с сотнями, тысячами программистов, неужели мы не справимся? Я решил провести эксперимент, под названием “автоматизированная проверка стиля кода при комитах”. Для большинства из Вас это не новость и наверняка вы этим пользуетесь, но поделиться опытом внедрения думаю, не будет лишним.
Читать дальше →
Всего голосов 84: ↑74 и ↓10+64
Комментарии48

Файловая система WAFL — «фундамент» NetApp

Время на прочтение10 мин
Количество просмотров22K

В своем первом посте в этом блоге я обещал рассказать вам о NetApp «с технической стороны». Однако прежде чем рассказать о большинстве из имеющихся в системах NetApp возможностей, мне придется рассказать о «фундаменте», о том, что лежит в основе любой системы хранения NetApp — о специальной структуре организации данных, которую традиционно принято называть «файловой системой WAFL» — Write Anywhere File Layout — Файловой Структурой с Записью Повсюду, если перевести дословно.

Если вы сочтете, что «для Хабра» текст суховат, то потерпите, дальше будет интереснее, но не рассказать об устройстве того, что лежит в основе подавляющего большинства практических «фич» NetApp я не могу. В дальнейшем будет куда сослаться «для интересующихся» на подробное объяснение в следующих постах, о более практических «фишках».
Так, или иначе, но почти все, что NetApp умеет уникального растет именно из придуманной в начале 90-х Дэвидом Хитцем и Джеймсом Лау, сооснователями «стартапа» Network Appliance, файловой системы. Хороший аргумент за то, насколько важной и полезной может оказаться в будущем развитии изначально грамотная и продуманная «архитектура» продукта.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии45

Настройка PPPoE с шейпингом трафика для небольшой сети

Время на прочтение19 мин
Количество просмотров41K
Однажды возникла задача настроить раздачу интернета на пару десятков компьютеров (офисные и домашние). Коробочные решения оказались либо платными, либо достаточно сложно настраиваемыми, поэтому было принято решение использовать собственное на базе Debian Linux. Опытом его поднятия я хочу поделиться с вами в этом посте, но приведенные здесь версии могли немного устареть с момента написания мануала «для себя», так что нужно проявить некоторую внимательность. Также, нужно учитывать, что приведенное решение далеко от идеального и профессионального. Оно поможет скорее тем, кому нужно быстро поднять у себя сервер, раздающий интернет. В конце у нас будет раздача интернета через PPPoE с назначением внутренних IP клиентам, шейпинг трафика, DNS сервер и простой мониторинг текущих сессий из консоли.
Читать дальше →
Всего голосов 56: ↑44 и ↓12+32
Комментарии27

Дедупликация данных — подход NetApp

Время на прочтение10 мин
Количество просмотров26K
image
Дедупликация данных — это технология, при помощи которой обнаруживаются и исключаются избыточные данные в дисковом хранилище. В результате это позволяет сократить объёмы физических носителей для хранения тех же объёмов данных.
Дедупликация данных это одна из самых «горячих» тем в области систем хранения данных последних двух-трех лет. Ведь очевидно, что в том гигантском объеме данных, который сейчас приходится хранить современным системам хранения, неизбежно встречаются дубликаты и идентичные данные, за счет устранения которых можно было бы значительно сократить объемы хранения.
Пожалуй наибольшего успеха снискали реализации технологий дедупликации в области систем дискового резервного копирования (например EMC Avamar, Data Domain), однако компания NetApp первой объявила о возможности использования дедупликации для так называемых «primary storage», то есть основного, «боевого» хранилища активных данных, так как смогла предложить технологию дедупликации, практически не снижающую производительность его работы.
Сегодня я бы хотел рассказать как и за счет чего это удалось, и почему пока не получается у других.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии36

Анализ проникновения бота через эксплоит в старых версиях phpmyadmin и рекомендации по настройкам безопасности php-хостинга

Время на прочтение11 мин
Количество просмотров12K
Имею на администрировании несколько серверов, на которых хостятся восновном свои проекты, но кроме них ещё довольно много пришлось разместить левых сайтов — клиентов, знакомых, знакомых знакомых и т.п. За время администрирования встречались разные проблемы, поэтому настроены кое-какие мониторинги (zabbix и самописные скрипты).

И вот вчера на одном из серверов скрипт, проверяющий активные соединения, забил тревогу: постоянно висит исходящее соединение на неизвестный хост на порт 433, уже более 9 часов на момент когда я осилил прочитать почту в понедельник утром ;)

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

По результатам анализа я выяснил что подобная дыра в безопасности может быть на большинстве серверов с базовыми настройками PHP, поэтому решил сделать пост на хабре чтобы обезопасить остальных владельцев серверов с хостингом от подобных случаев, а также описал способы поиска источников попадания заразы на сервер.
Читать дальше →
Всего голосов 126: ↑123 и ↓3+120
Комментарии67
1

Информация

В рейтинге
Не участвует
Откуда
Витебск, Витебская обл., Беларусь
Зарегистрирован
Активность