Деобфускація PHP

Здрастуй Хабр!
Нещодавно зайшовши на сайт своєї знайомої, через смартфон, виявив кілька дивних посилань в підвалі.
Я поцікавився у неї, чи спеціально вона розмістила ці посилання. Звичайно ж ні. Вона здивувалася і вирішила особисто подивитися про які посиланнях йдеться і тут починається цікаве: посилання були, але інші. Контекстна реклама, причому що має певний таргетинг.
 
Під катом невелика стаття про те, як я випилював скверну і розбирався як вона працює.
 
Читати далі →

Запуск локальних ssh / telnet / vnc клієнтів по посиланню з карти Zabbix

  Безліч стійок, кожна щільно упакована серверами, маршрутизаторами, комутаторами та іншими kvm'амі.
Потрібен якийсь зручний спосіб рулити всім цим хозайством, швидко підключатися до потрібного обладнанню та
виробляти його налаштування. Прямо щоб пара кліків мишею і оп — перед тобою консоль потрібного комутатора.
 
Для моніторингу наших підопічних ми використовуємо Zabbix.
Так чому б не пристосувати цей чудовий інструмент і для цього завдання.
Адже було б дуже зручно ткнути в карті Zabbix на потрібну стійку, перейти на її подкарту і, вибравши залізяку,
запустити локальний ssh ​​/ telnet / vnc клієнт на своєму комп'ютері.
 
Спантеличившись ідеєю, я почав мучити пошукові машини в надії відшукати варіанти реалізації.
Був знайдений даний тред на форумі Zabbix, але мені хотілося запускати саме локальні програми на моїй машині кліком за посиланням в карті.
Ще якийсь час поплутавши по закутках всесвітньої павутини і помучиться знайомих програмістів дурними питаннями я згадав про… Python.
Так, Python, не раз прийшов на допомогу в скрутну хвилину.
Плекаю дуже ніжні почуття до цієї мови за його простоту і приємний теплий синтаксис.
 
І так, вектор атаки змінився і пошуковики завмерли в очікуванні нового вкидання мислеобразів…
Через деякий час я вже чітко уявляв як буду вирішувати задачу — напишу клієнт-серверний додаток!
На моєму комп'ютері буде чекати команд серверна частина, а на сервері моніторингу, при кліці по посиланню, буде запускатися клієнт і передавати потрібну команду.
 
Результатом пошуків стало кроссплатформне додаток, працює як на Linux, так і на Windows.
Епопея проб і помилок на шляху до заповітної мети чекає вас під хабракатом.
 
Читати далі →

Використовуємо трейти з користю

  На Хабре вже було кілька статей про трейтах і про те, як їх використовувати. Але я поки не бачив прикладів використання з реальними фреймворками, на яких ми пишемо кожен день. Я любитель Symfony2 стека і тому саме на ньому я покажу, як можна використовувати трейти з користю.
Читати далі →

Використовуйте пошук по хешу, а не обшук масиву

      Досить-таки часто зустрічається завдання: перевірити, чи збігається рядок з іншими рядками з набору. Наприклад, вам потрібно перевірити кожне слово з повідомлення на форумі на предмет того, чи не міститься воно в списку заборонених. Поширене рішення: створити масив зі списком заборонених слів, а потім за допомогою функції
in_array()
робити перевірку. Є способи підвищити продуктивність такого алгоритму.
 
Читати далі →

Дайджест цікавих новин і матеріалів зі світу PHP № 38 (9 березня - 23 березня 2014)

  
 
Пропонуємо вашій увазі чергову добірку з посиланнями на новини та матеріали.
 
Приємного читання!
 
Читати далі →

Команда Facebook виклала у відкритий доступ мову Hack

  Нова мова Hack є прямим нащадком PHP, заснованим на його синтаксисі. Hack створений спеціально для віртуальної машини HHVM (Hip Hop Virtual Machine). Команда Facebook повністю перевела розробку на нову мову і називає цю міграцію великим успіхом. Однак Facebook не відмовляється від підтримки PHP і планує доопрацювати підтримку PHP5 в HHVM.
Докладна документація по мові доступна тут (англійською мовою).
Офіційний сайт нової мови — http://hacklang.org/ .
 Новина про релізі мови.
 
Читати далі →

Знайомтеся! Appnestic - хостинг-платформа нового покоління

  Дорогі хабропользователі.
 
Ера VPS і unmanaged серверів в самому розпалі, але в той же час з'являються нові платформи, які дозволяють розміщувати додатки за пару кліків. Платформа Appnestic — одна з таких.
 
 
Передісторія
Мені, розробнику часто не вистачало інструменту, який дозволив би швидко розгорнути додаток, та так щоб не возитися з хостингом, серверами, Лінукс, маріядб і іншою інфраструктурою, налаштувати його і передати доступ клієнту. Також не вистачало зручного DNS-менеджера зон, можливості налаштувати додаток і передати його клієнту, управляти додатком без ssh доступів і конфігураційних файлів.
 
Так народилася ідея Apnnestic-а — платформи, яка дозволяє завантажувати і оновлювати код і запускати додаток. Сьогодні ми знаходимося в beta-тестуванні і я з радістю запрошую вас протестувати наше рішення і розповісти про свої враження і пропозиції.
 
 
Читати далі →

Пишемо парсер за допомогою XPath і Yii

Введення
Іноді бувають завдання коли потрібно реалізувати обгортку для роботи з API деякого сервісу для потреб замовника і зробити подібні завдання в основному досить просто, але в сервісу не завжди є цей API, або виникає думка що краще б його не було, тому доводитися парсити повністю сторінку контенту.
 
Як приклад для даної статті ми будемо використовувати видане демо форуму XenForo і заздалегідь створеної темою, звідки будемо аналізувати довільні типові дані: заголовок, час створення і сам текст теми, при цьому парсинг здійснюватиметься в авторизованому акаунті форуму. Всі інші дані можна буде взяти за аналогією.
 
Сам парсер реалізуємо у вигляді компонента для зручного використання в Yii2.
 
Читати далі →