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

Первое правило безопасности при разработке Веб приложений гласит: —

Не доверять данным пришедшим от клиента.

Почти все это правило хорошо знают и соблюдают. Мы пропускаем через валидаторы данные форм, кукисы, даже URI.
Но недавно я с удивлением обнаружил, что есть одна переменная, приходящая от клиента, которую почти никто не фильтрует.
Речь пойдет о компрометации веб приложения через подмену значения HTTP_HOST и SERVER_NAME.
Читать полностью »

Возникла недавно задача, связанная с конвертацией между различными позиционными системами счисления.

В качестве реального применение обычно выступают сервисы для сокращения URL, использующие системы base36/base62 или, например, хранение большого количества огромных чисел в том же base62 для экономии памяти.

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

Получилась AzaMath — библиотека для конвертации между системами счисления (включая кастомные) + удобная арифметика произвольной точности.
Читать полностью »

Я уже довольно долгое время хочу формализовать все свои мысли, опыт, ежедневно применяемый на практике, и многое другое в одном месте и предоставить их общественности. Уверен, многим этот материал будет полезен. Он посвящен различным моментам в конфигурации серверного ПО Linux и безопасным подходам к созданию сайтов/приложений на php (все же это до сих пор одна из самых популярных связок, хоть её успешно и подвигают другие технологии).

Т.е. речь идет о типичной ситуации. Проект (стартап), купили под него сервер и разворачиваем на нем сайт. Бизнесу не нужно тратить лишних денег на сервера (поэтому будут выбраны наиболее производительные связки ПО), а так же нужно, чтобы все было безопасно, при чем бесплатно :)
Читать полностью »

Как правило, разработка и отладка приложения выполняются на локальном веб-сервере, обычно это приводит к проблемам типа «как предоставить проект клиенту» ну или просто трудность работы за несколькими компьютерами.

Данная статья не несет ничего нового, а скорей просто пошаговая инструкция как подготовить сервер для разработки проектов.

В итоге мы должны получить:

  • git-репозиторий
  • веб-сервер ( nginx, без apache )
  • php различных версий( 5.3, 5.5 ), с наборами различных модулей ( включая xdebug, apc )
  • mysql, postgresql сервера
  • Удобную структуру для быстрого развертывания проекта
  • Настроенную IDE под работу с этим делом

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

В данной статье хотелось бы рассказать об одной интересной проблеме, с которой мне пришлось столкнуться. Необходимо было автоматизировать процесс подстановки большого количества именных параметров в SQL запросы типа INSERT и UPDATE, то есть избавится от наводнивших проект конструкций типа:

$paramsArray[‘fname’] = $_POST[‘fname’];
$paramsArray[‘sname’] = $_POST[‘sname’];

Всех, кому интересно, как я решил такую задачу, приглашаю под кат.
Читать полностью »

Перевод моей статьи о том, как настроить сборку для PHP проектов на базе Symfony2 используя Jenkins. Недавно я столкнулся с задачей такой настройки именно для набора Symfony 2.1+Jenkins+PHPUnit+PHPCodeSniffer+PHPMessDetector+PDepend.

Надеюсь, эта небольшая статья сможет оказаться полезной!Читать полностью »

Получить видео с ВК при помощи PHP

У меня возникла проблема — как получить видео с всеми известной соц.сети vkontakte.ru. и установить его на сайте. Ключевой момент, я не хотел использовать IFRAME или же ещё какие-то сервисы ВК, я хотел чтобы видео выглядело так, как будто оно лежит у меня на сайте. Облазив пару десятков сайтов, максимально что я нашёл, это сайты для загрузки видео, такие как ВИДЕОСЕЙВЕР и тп. Это всё не подходило, поскольку мне нужен был код которой я мог интегрировать в свой PHP движок.
Нашлось пару самописных PHP скриптов – которые стоили от 30 до 500 у.е. Но половину из них были закодированы Zend Encoder – ом или же просто использовали свои сервера для поиска видео-файлов и не имели особой ценности для меня.
Так началось вдохновение. Я решил использовать мобильную версию поскольку она намного проще. Первым дело я составил алгоритм получение видео с ВК.

image

Вход В ВК

Первым куском кода был вход в ВК. Я порылся в интернете и нашел нечто подобное:

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

После моей первой публикации на Хабре о стеганографии, у меня было много мыслей и в результате много интересных идей. На некоторые идеи меня натолкнули комментаторы предыдущей статьи, к некоторым я пришел сам.Читать полностью »

На протяжении пары лет занимаюсь веб-разработкой. Из-за специфики поставленных задач, решил не использовать никаких фреймворков для разработки back-end части проектов. Конечно, так же повлияло отсутствие хороших навыков работы с существующими фреймворками на момент начала работы. А вот какие-то свои заготовки на тот момент уже были. И тут началось изобретение велосипеда в виде создания своего мини фреймворка.

Это является моей первой статьёй. В ней я решил поделиться реализацией тех моментов, которые я считаю, у меня получились хорошо:

  • Мультиязычность интерфейса
  • Шаблонизатор
  • Роли пользователей

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

Вступление

Добрый день, дорогие друзья! В сети, в частности на хабре можно найти достаточно много статей, по написанию паттерна обработки запросов MVC, но у всех есть свои недостатки. В этой статье, я попробую их все исправить.

Какие же недостатки в прошлых статьях?

Подключение контроллера прямо в обработчике, когда можно использовать удобную автозагрузку. Очень часто нет проверки на существование класса, даже если файл существует. И самый главный недостаток: отсутствие возможности задавать свои правила для обработки запросов, что мы реализуем в нашей статье.
Читать полностью »


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