Рубрика «php» - 101

В этой статье я расскажу как я написал Vk-сниффер для android смартфонов за вечер.

Идея

Недавно я был на митапе посвященному Frontend разработке, на котором один из выступающих рассказывал про PhoneGap. Эта штука(не уверен как правильно назвать) позволяет собирать приложения для iOS/android при помощи знакомых мне HTML, CSSJS и PHP.

PhoneGap

Так вот, идея создать приложение выглядящее внешне как вход в ВК у меня была давно, но учить Java не очень-то хотелось. А тут предоставилась возможность написать веб-страницу и запилить апк!
Читать полностью »

React.js на русском языке. Часть вторая - 1

Перевод официальной документации библиотеки React.js на русском языке.

Оглавление:

1 — Часть первая
2 — Часть вторая

Внедрение JSX

Ознакомьтесь с этим объявлением переменных:

const element = <h1>Hello, world!</h1>;

Этот забавный синтаксис тега не представляет собой ни строку, ни HTML. Он называется JSX и представляет собой расширение языка в JavaScript. Мы рекомендуем использовать его при работе с React, чтобы описать как должен выглядеть UI. JSX может напоминать вам HTML разметку, но он полноценно работает в JavaScript.

JSX производит «элементы» React. В следующем разделе мы будем изучать их.
Читать полностью »

1 Почему JavaScript отстой
• 1.1 Плохая конструкция
• 1.2 Система типов
• 1.3 Плохие функции
• 1.4 Отсутствующие функции
• 1.5 DOM
2 Почему Lua отстой
3 Почему PHP отстой
• 3.1 Исправлено в поддерживаемых в настоящее время версиях
4 Почему Perl 5 отстой
5 Почему Python отстой
• 5.1 Исправлено в Python 3
6 Почему Ruby отстой
7 Почему Flex/ActionScript отстой
8 Почему скриптовые языки отстой
9 Почему C отстой
10 Почему C++ отстой
11 Почему .NET отстой
12 Почему C# отстой
13 Почему VB.NET отстой
15 Почему Objective-C отстой
16 Почему Java отстой
• 16.1 Синтаксис
• 16.2 Исправлено в Java 7 (2011)
• 16.3 Библиотека
• 16.4 Обсуждение
17 Почему Backbase отстой
18 Почему XML отстой
19 Почему отстой XSLT/XPath
20 Почему CSS отстой
• 20.1 Исправлено в CSS3
21 Почему Scala отстой
22 Почему Haskell отстой
23 Почему Closure отстой
24 Почему Go отстой
• 24.1 Базовые средства программирования (базовый язык)
• 24.2 Взаимосовместимость
• 24.3 Стандартная библиотека
• 24.4 Набор инструментальных средств
• 24.5 Сообщество
25 Почему Rust отстой
• 25.1 Безопасность
• 25.2 Синтаксис
• 25.3 Конструкция API и система типов
• 25.4 Сообщество
• 25.5 Набор инструментальных средств

Почему JavaScript отстой

Учтите, что некоторые положения относятся не к самому JavaScript, а к программным интерфейсам веб-приложений (https://developer.mozilla.org/en/docs/Web/API).

Плохая конструкция

• Каждый скрипт исполняется в едином глобальном пространство имён, доступ в которое возможен в браузерах с оконным объектом.
• Camel-регистр никуда не годится:

XMLHttpRequest
HTMLHRElement

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

Двенадцать заповедей локализации ПО - 1

Вы представили новый сайт — и все в восторге. Ваш дизайн свеж, код безупречен, вы полностью готовы к запуску. Но тут кто-то интересуется: «А на японском работает?»

Вас бросает в холодный пот: вы понятия не имеете. Сайт работает на английском, а остальными языками вы планировали заняться попозже. Теперь вам придется переписывать весь движок для поддержки других языков. Дата запуска откладывается, и вы проводите следующие два месяца за исправлением ошибок, только чтобы убедиться, что вы пропустили добрую половину из них.

Локализация делает ваш движок готовым к работе на любом языке — и будет гораздо проще, если вы займетесь ею с самого начала. Компания-локализатор Alconost перевела для вас дюжину простых правил, благодаря которым можно спокойно запускаться в любой точке мира.
Читать полностью »

php 7 вышел почти год назад, на носу уже версия 7.1, которая находится в стадии релиз кандидата. Интернет полон положительных отзывов, что же — пора использовать его в продакшене. Об опыте переезда на него боевого сервера с тридцатью проектами и пойдет речь в этой статье.

Седьмая версия открывает нам много новых возможностей, но основным убийственным нововведением php7, я считаю, увеличение производительности и уменьшение потребления памяти. Во внутренних проектах мы его давно попробовали, убедились, что он дает прирост не только в синтетических тестах, было принято решение переводить на него весь продакшен.
Читать полностью »

image Запуск консольного расширения несколько недель назад позволил гораздо расширить спектр задач решаемых с помощью PHPixie и её компонентов. И теперь я рад представить вам PHPixie Migrate — утилиту для миграции баз данных. Как и другие компоненты она может работать полностью самостоятельно, и в конце статьт я приведу пример того как запустить её без фреймворка.
Читать полностью »

PHP-Дайджест № 96 – интересные новости, материалы и инструменты (1 – 13 ноября 2016) - 1

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »

Дешевые авиабилеты… Сеть мошеннических сайтов, ворующих деньги с карт. Второе расследование. Причем здесь Промсвязьбанк? - 1

Около месяца назад я опубликовал на Geektimes статью «Дешевые авиабилеты… Или сеть мошеннических сайтов, ворующих деньги с карт. Мое расследование.» Публикация получила большой отклик и неожиданное продолжение…

Напомню для тех, кто первую часть не читал. В публикации на основе реальных случаев были описаны схемы, с помощью которых мошенники воруют деньги с карт покупателей авиабилетов, которые имели неосторожность попасть на поддельный сайт по продаже билетов. Количество таких мошеннических сайтов по продаже авиабилетов в рунете исчисляется десятками и сотнями (с учетом закрытых). На таких сайтах пользователю сначала показывается реальная информация об авиарейсах, предлагается оформить заказ и оплатить его банковской картой. Всё выглядит красиво, пока покупатели авиабилетов не обнаруживают, что остались и без денег, и без билетов.

Во всех обнаруженных случаях для кражи денег такие сайты используют сервисы банков для перевода денег с карты на карту (P2P). В первой части был подробно разобран механизм того, как страница Банка Тинькова для оплаты с карты на карту маскируется и встраивается на мошеннические сайты, так, чтобы «покупатель» ничего не заметил. Также упоминался Промсвязьбанк, — именно через него были украдены деньги с карты потерпевшего в истории, которая была описана. И если с банком ТКС вопросов не осталось, то в случае с Промсвязьбанком было непонятно, как именно выводятся деньги. Основной скрипт, служащий для воровства денег, выполнялся на стороне сервера и без исходных кодов можно было только стоить предположения, что именно он делает.

И вот один из пользователей Geektimes связался со мной и прислал тот самый скрипт payp2p.php, который использовался в последнее время на большой части мошеннических сайтов по продаже авиабилетов. Скрипт этот использует сервис Промсвязьбанка для перевода с карты на карту. И на мой взгляд, Промсвязьбанк, предоставляя свой сервис, который было легко обмануть, способствовал росту количества интернет-мошенников.Читать полностью »

На работе поставили задачу перевести нескольких сотрудников на терминальный сервер, чтобы все-все делалось на нем, в т. ч. сканирование с локального сканера. Пользователь работает в Windows. Можно было бы пробросить USB, но драйверов для Виндоус Сервера у этой модели сканера не было.

Поискал в сети по запросу Scan over RDP, нашел программы типа Scan Redirector RDP Edition, TSX Scan и т. п., за которые хотят в районе сотни-другой баксов за 1 лицензию, вроде бы даже видел за 800 баксов.

Я не люблю нелицензионный софт, поэтому решил реализовать сам:

Сканирование на терминальном сервере бесплатно - 1
Читать полностью »

Термин «микросервисы» сегодня у всех на слуху – внезапно это стало очень модно, и многие компании объявляют переход на этот архитектурный паттерн даже толком не разобравшись в нём. Впрочем, обсуждение полезности микросервисов оставим за пределами этой статьи.

Традиционно перед коллекцией микросервисов предлагается дополнительный слой – так называемый API gateway, который решает сразу несколько проблем (они будут перечислены позже). На момент написания этой статьи open source реализаций таких gateway почти нет, поэтому я решил написать свой на PHP с использованием микрофреймворка Lumen (часть Laravel).

В этой статье я покажу насколько это простая задача для современного PHP!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js