Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Распознавание лиц на фотографии с помощью PHP

04.03.2016 | Категория: Web-мастеру и не только | Автор: ManHunter

Распознавание лиц на фотографии с помощью PHP

В социальных сетях давно используется такая функция, как "укажи людей на фотографии". Вы загружаете файл изображения, а скрипт подсвечивает на нем лица людей. Как это делается? Предположу, что у каждой социальной сети используются свои инструменты, доступа к которым со стороны никто не даст. Есть готовые бесплатные инструменты, например, PHP Facedetect, но они требуют доступ к серверу, чтобы установить необходимые компоненты. Это можно сделать только на выделенных серверах, пользователям недорогого виртуального хостинга вряд ли кто-то даст такую возможность. А еще есть общедоступный сервис Microsoft Project Oxford Face, который позволяет разработчикам определять на фотографиях лица, а также пол и примерный возраст людей. Для этого надо зарегистрироваться, получить персональный ключ, и можно передавать файлы на обработку. Вроде бы все хорошо и правильно. Но официальные SDK есть только для дотнета и Java, да и количество бесплатных обращений к сервису ограничено. Вот этим сервисом я и заинтересовался.

Читать статью целиком »
Просмотров: 6721 | Комментариев: 9

PCL's PHPiD 2.1 Public Release

04.02.2016 | Категория: Мои программы | Автор: ManHunter

Скриншот программы PCL's PHPiD

PCL's PHPiD - программа для определения чем зашифрован или обработан PHP-скрипт, всего определяет более 80 различных протекторов и обфускаторов. PCL's PHPiD представляет собой один из модулей закрытого проекта Massacre, снабженный графической оболочкой (файл phpid.exe), а также консольный вариант программы (файл phpid_ce.exe). Поиск, в основном, выполняется по сигнатурам, так что теоретически возможны неточности в идентификации, но мне пока такие скрипты не попадались. Также некоторые обфускаторы используют сходные алгоритмы (например, PHP LockIt! и PHP Defender) и на выходе дают практически одинаковый результат. В этом случае точно определить, чем обработан скрипт, не получится, и будет выбран наиболее похожий вариант. Скрипты также можно передавать через командную строку и drag'n'drop.

Читать статью целиком »
Просмотров: 30219 | Комментариев: 95

Проверка стойкости пароля с помощью подсчета энтропии

18.12.2015 | Категория: Web-мастеру и не только | Автор: ManHunter

Проверка стойкости пароля с помощью подсчета энтропии

Каждому пользователю интернета приходилось регистрироваться на каких-нибудь сайтах или сервисах, и одна из обязательных составляющих любой регистрации - придумывание пароля. Есть даже официальные рекомендации по составлению паролей, не говоря уже о многочисленных статьях на эту тему. Многие сервисы при регистрации пользователя проверяют наличие определенных групп символов в пароле, в результате складывается ситуация, как в верхней половине приведенного здесь комикса. А вот как определить, действительно ли тот или иной пароль является сложным?

Читать статью целиком »
Просмотров: 9458 | Комментариев: 12

Как на PHP корректно прибавить месяц к дате

27.11.2015 | Категория: Web-мастеру и не только | Автор: ManHunter

Как на PHP корректно прибавить месяц к дате

Одна из интересных задач, с которой мне приходилось сталкиваться на практике при работе с датами на PHP, это так называемый "календарный месяц". То есть некий интервал дат, отличающийся на месяц. Если дата находится где-то в середине или в начале месяца, то никаких сложностей, просто увеличиваем номер месяца на единицу, при необходимости корректируем год. А проблема начинается в тех случаях, когда дата начала интервала приходится на какое-нибудь число в конце месяца. Просто увеличить значение месяца на следующий, оставив число без изменений, нельзя, полученная дата может оказаться несуществующей. Добавлять 30 или 31 день тоже некорректно, в коротком феврале итоговая дата после такого прибавления перемахнет на начало марта. Вот для наглядности несколько примеров, чтобы было понятно, о чем идет речь:
  1. //------------------------------------------------------
  2. // Дата в начале или в середине месяца
  3. //------------------------------------------------------
  4. echo date('d.m.Y',strtotime('2015-01-12 +1 month'));
  5. // 12.02.2015 - правильно
  6.  
  7. //------------------------------------------------------
  8. // Дата в конце месяца
  9. //------------------------------------------------------
  10. echo date('d.m.Y',strtotime('2015-01-29 +1 month'));
  11. // 01.03.2015 - неправильно! Ожидалось 28.02.2015
  12.  
  13. echo date('d.m.Y',strtotime('2015-01-31 +1 month'));
  14. // 03.03.2015 - неправильно! Ожидалось 28.02.2015
  15.  
  16. echo date('d.m.Y',strtotime('2015-11-30 +1 month'));
  17. // 30.12.2015 - неправильно! Ожидалось 31.12.2015
Дата следующего короткого месяца не должна превышать количество дней в нем, а переход с отметки "конец месяца" с 30 числа ноября должен соответствовать отметке "конец месяца" декабря, то есть 31 числу, а никак не 30. Аналогично, конец февраля (28 или 29 число) при увеличении даты на один календарный месяц должен превратиться в 31 марта. Функция работы с датами strtotime, несмотря на всю свою интеллектуальность, в таких случаях просто прибавляет к исходной дате 30 календарных дней или увеличивает месяц на 1.

Читать статью целиком »
Просмотров: 16883 | Комментариев: 6

Определение координат места съемки из EXIF на PHP

08.07.2015 | Категория: Web-мастеру и не только | Автор: ManHunter

Определение координат места съемки из EXIF на PHP

Окончательно решив аппаратную задачу записи GPS-координат в файлы, осталось решить программную задачу их чтения. Вариант на Ассемблере у меня уже давно есть, а вот на PHP нормальных решений не было. Причину, по которой я не пользуюсь штатными функциями PHP, я изложил в предыдущей статье, повторяться не буду. К тому же мне стало интересно самостоятельно распарсить дополнительные секции EXIF, основываясь на их спецификации.

Читать статью целиком »
Просмотров: 5749 | Комментариев: 1

01 ... 10 11 12 13 14 15 16 ... 24
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 3 (0.0086 сек.) / Память: 4.5 Mb
Наверх