Blog. Just Blog

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

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

Обработка перетаскивания ссылок в окно приложения

16.04.2019 | Категория: Образ мышления: Assembler | Автор: ManHunter

Обработка перетаскивания ссылок в окно приложения

С перетаскиванием файлов в окно приложения мы уже давно разобрались, это реализуется несложно. Теперь давайте разберем более интересную задачу, а именно перетаскивание в окно приложения ссылок или текста из браузеров, текстовых редакторов и других программ.

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

Добавляем вкладки в Проводник Windows

13.04.2019 | Категория: Software | Автор: ManHunter

Добавляем вкладки в Проводник Windows

Я уже упоминал, что периодически пользуюсь стандартным Проводником Windows, поэтому если нахожу способы его хоть немного улучшить, то с удовольствием это делаю. Недавно узнал про способ, как добавить в Проводник вкладки. Теперь вместо нескольких открытых окон можно держать на рабочем столе одно аккуратное окно, что очень удобно. Если вам тоже интересно, как это можно сделать, то прочитайте статью.

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

Лепешка "Два сыра"

10.04.2019 | Категория: А еще я туда ем! | Автор: ManHunter

Лепешка "Два сыра"

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

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

Получение реального формата изображения

08.04.2019 | Категория: Web-мастеру и не только | Автор: ManHunter
Одно из основных правил при разработке web-приложений - не доверять никаким данным, полученным от пользователя. Они могут быть перепутаны случайно, но могут быть специально модифицированы в злонамеренных целях. Это касается в том числе и загружаемых изображений. Чтобы применять к ним функции типа ImageCreateFromXXX, просто ориентироваться на расширение файла недостаточно, оно запросто может не соответствовать содержимому. Для определения реального типа изображения я всегда проверяю внутренний формат файла, его служебные заголовки, и только на основании этого принимаю решение, как обрабатывать этот файл. Для этого у меня написана вот такая функция:
  1. //-------------------------------------------------------------------
  2. // Функция получения реального формата изображения
  3. // (C) ManHunter / PCL
  4. // http://www.manhunter.ru
  5. //-------------------------------------------------------------------
  6. function get_real_image_type($file_path) {
  7.   // По умолчанию файл имеет неизвестный формат
  8.   $type=false;
  9.  
  10.   // Анализ по внутренней структуре файла
  11.   if ($f=fopen($file_path,'r')) {
  12.     $data=fread($f,20);
  13.     fclose($f);
  14.     // Заголовок файла GIF
  15.     if (substr($data,0,3)=='GIF'
  16.       && (substr($data,12,1)=="\x00" 
  17.       || substr($data,12,1)=="\x01")) {
  18.       // Проверка на классические сплойты
  19.       if (strpos(substr($data,6,4),'/*')!==false 
  20.         || strpos(substr($data,6,4),'//')!==false) {
  21.         $type=false;
  22.       }
  23.       else {
  24.         // Проверка на более хитрые сплойты
  25.         $tmp=preg_replace('/[^\("\']/','',substr($data,6,4));
  26.         if ($tmp=='("' || $tmp=='(\'') {
  27.           $type=false;
  28.         }
  29.         else {
  30.           $type='gif';
  31.         }
  32.       }
  33.     }
  34.     // Заголовок файла PNG
  35.     elseif (substr($data,0,8)==chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) {
  36.       $type='png';
  37.     }
  38.     // Заголовок файла JPEG
  39.     elseif (substr($data,0,3)==chr(255).chr(216).chr(255)) {
  40.       $type='jpg';
  41.     }
  42.   }
  43.   return $type;
  44. }
Единственный параметр $file_path - путь к проверяемому файлу. На выходе строка с реальным типом изображения или false, если файл не является изображением.

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

Просмотров: 263 | Комментариев: 1

HtmlHelp Wrapper 1.5

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

Скриншот программы HtmlHelp Wrapper

HtmlHelp Wrapper - это программа-обертка для открытия .CHM-файлов и .HLP-файлов из командных файлов или приложений. От обычной утилиты HtmlHelp, которая идет в комплекте Windows, эта программа отличается тем, что при открытии файла справки позволяет искать ключевые слова, а для CHM-файлов дополнительно автоматически синхронизировать список ключевых слов и открытой статьи, а также открывать более одной копии справки для отдельного приложения и закрывать открытую справку по нажатию Esc. Кроме своих функций и параметров запуска, поддерживаются все стандартные ключи утилиты HtmlHelp, поэтому можно заменить файл hh.exe в папке Windows на HtmlHelp Wrapper (не забывайте про резервные копии).

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

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2019
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.11 сек. / MySQL: 2 (0.0172 сек.) / Память: 4.75 Mb
Наверх