PHP wget/curl

Для простых get-запросов достаточен file_get_contents, для чего-то более сложного рекомендуют использовать библиотеку curl. Примеры использования Curl можно взять тут.
Пример
Выгрузка содержимого страницы в php. Юзал fopen насколько помню, чтобы отдать URL с переменной нужно заменить скобки ” на “”.


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

Linux сервис на well-known порту

В Linux нельзя запустить прослушивание порта на well-known портах без прав админа. Это касается любого приложения – ruby сервера, linux утилит.
~$ nc -l 80.87.194.88 1111  - ok
~$ nc -l 80.87.194.88 90 - fail
nc: Permission denied
~$ sudo nc -l 80.87.194.88 90 - ok 


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

STP + IPOE (Q-in-Q) баг на D-Link DGS-3620

В 4-6 утра загружается DGS-3620 в одном из участков сети с настройкой STP как на Downlink, так и на Uplink портах. Причем через какое-то время после перехода в Exhausted переключает порты в discarding и тем самым вызывает прерывание трафика на пару секунд.

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

Варианты реализации непубличных ботов

Варианты реализации непубличных ботов (помимо sms):
  • telegram – очень удобно, но, если это внутренний инструмент компании, то, по хорошему, не совсем правильно с точки зрения безопасности хранить данные в сторонней системе, даже если это не персональные/критичные бизнес данные
  • приложение ios/android/windows –  не универсально, в отличии от WEB (даже с учетом api в backend + front app)
  • web + приложение/код по мультифакторной аутентификации – хороший вариант, но менее удобный в сравнении с telegram
  • ssh – неудобно, каждому нужно ставить ssh-клиент на телефон + вопрос по авторизации (напр.


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

PHP: If-else-elseif

Однострочный if

В данном случае если не заполнена форма – ничего не делаем.

if ("$user_request" == "Введите запрос") exit();

Elseif

 if ($variable == $variable2) {
   echo "1";
 } else if (!$variable == $variable3) {
   echo "2";
 } else if ($variable == $variable4) {
   echo "3";
 } else {
   echo "4";
 }


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

SecureCRT, Termius, MPutty, (supper)Putty, SolarPutty, mRemoteNG, iTerm, Mobaxterm

Альтернативы SecureCRT:

  • Termius – кросс-платформенная альтернатива
  • Windows: mRemoteNG, MPutty, SupperPutty, SolarPutty, Mobaxterm
  • MacOS: iTerm2 – шикарная альтернатива на Mac

 

 

PUTTY

Король, использую его + закладки сессий самой Windows. Получается довольно удобно. 🙂

По PPK можно легко получить public key – это делает WinSCP с кнопки.

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

PHP: разное

  • LAMP stack – Linux, Apache, MySQL, PHP
Комментарии
// или # – однострочные, могут быть не только в начале строки, но и в конце (после ?
/* str str */  – многострочные
Генерация рандомного 6-ти значного числа
$a = mt_rand(100000,999999);

CLI

php script.php

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

Network: HTML, HTTP, browsers разные хинты

HTTP
http QUERY

<стартовая строка>: method, URI, http version
<заголовки>
<тело запроса>
  • В заголовке в поле Host передается адрес сервера (fqdn/ip), что позволяет напр. на web сервере с множеством сайтом определить какой сайт отдавать
  • Клиент и сервер могут использовать разные версии протокола НТТР, при этом все будет работать корректно.


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

Linux: packet flow, обработка в ядре пакетов, фильтрация, connection tracking, statistics: iptables, ipset, ipfw, nftables, bpfilter, firewalld, conntrack, BPF, packetfilter, netstat, iptraf, jool

Фильтрация на базе DPDK
 О ОБРАБОТКЕ ПАКЕТА В  ЯДРЕ LINUX
  • Разное из интересного про сетевые карты из презентации google о BIG TCP (сама преза по ссылке):

    • Часть функционала, который поддерживается loopback драйвером не поддерживается реальными аппаратными NIC. Поэтому тестирования сетевого приложения по loopback – спорная тема.


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

Google Glass fail

Google Glass по всем признакам зафейлились т.к. о них не было уже давно никаких новостей. В принципе, первый блин комом. Явно не стоит все носимые девайсы из-за этого обрекать на провал. Направление явно перспективное и все это понимают, поэтому вендоры так и толпятся с умными часами/браслетами 😉

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