Linux/BSD: популярные дистрибутивы (general, network)

  • Корпоративный сегмент: грубо говоря 45% debian (ubuntu+debian+raspbian), 45% rhel (centos+rhel+fedora), 10% остальные
  • Популярные дистрибутивы могут выбирать не самую продолжительную (отличную от Long term support, LTS) по поддержке сборку Linux Kernel для своей работы (напр. Fedora, Ubuntu) – чтобы как можно раньше находить баги с новыми версиями.


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

HP LoadRunner, IBM RPT

HP LoadRunner – утилита для нагрузочного (и не только, по аналогии с JMeter) тестрования. С помощью нее можно создавать разные запросы на сайт/приложение/БД и анализировать отдачу. Можно писать скрипты. Бесплатная лицензия на 50 пользователей.

Как понимаю прямой конкурент:

IBM RPT – Rational Performance Tester.

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

TR-069 реклама и дампы

Используя TR-069 и поддерживаемые роутеры по слухам есть возможность часть функционала DPI реализовать прямо на CPE:
1) Добавление рекламы в браузер клиента (может быть полезно в сетях с Free доступом)
2) Снятие pcap дампов прямо с CPE (может быть полезно для диагностики, для слежки скорее нет – юзер же может в любой момент отключить свой девайс)


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

PHP работа с MySQL используя PDO

В коде страницы выглядит так. Используются функция в файле mysql_con.php и класс с несколькими функциями в файле mysql_oper.php.
require __DIR__ . 'mysql_con.php';
$db = DB();
require __DIR__ . 'mysql_oper.php';
$app = new TestClass($db);
$res = $app->Funname($username);
mysql_con.php – создаем коннект к BD.


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

Работа с Google Authenticator

Использовал Google Authenticator в проекте по аутентификации на базе PHP. Работа с Google Authenticator идет через класс PHPGangsta_GoogleAuthenticator.

По умолчанию при первичной регистрации, происходит генерация QR-кода (я QR-код заменил на ссылку т.к. основные пользователи – мобильные, а не стационарные). В этом коде содержится URL с username, secret, service-name и редирект на приложение по мультифакторной аутентификации.

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

PHP cookie, session

При использовании PHP-сессий данные хранятся не в куках. В куках хранится только идентификатор сессии, а уже по нему на серваке смотрятся данные для этой сессии. Схема безопасней, чем все хранить в cookies.
Папку с php-сессиями можно узнать (обычно это /var/lib/php):
echo session_save_path();


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

Ruby: простой Web Server на базе WEBrick

В Ruby есть встроенный сервер WEBrick. У него есть довольно богатый функционал, но юзать его не рекомендуют (как минимум из-за отсутствия документации и однопоточности). Для целей production могут использоваться другие ruby-сервера: puma, unicorn, rainbows; но по факту лучше использовать nginx :).

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

PHP error undefined variable/index

PHP избавление от ошибок undefined variable/index.
Notice: Undefined variable: button in /var/www/localhost/htdocs/ds_info/test.php on line 28
Notice: Undefined index: s_button in /var/www/localhost/htdocs/ds_info/test.php on line 21
Проверяем, что GET/POST не пустые перед присвоением переменной.
$button = $_GET['s_button']; - так не надо
if (isset($_GET['s_button'])) $button = $_GET['s_button']; - надо так


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