Pull to refresh
0
0
Дмитрий @ZekMan

User

Send message

Безопасная загрузка изображений на сервер. Часть первая

Reading time 10 min
Views 136K
В данной статье демонстрируются основные уязвимости веб-приложений по загрузке файлов на сервер и способы их избежать. В статье приведены самые азы, в врят-ли она будет интересна профессионалам. Но тем неменее — это должен знать каждый PHP-разработчик.

Различные веб-приложения позволяют пользователям загружать файлы. Форумы позволяют пользователям загружать «аватары». Фотогалереи позволяют загружать фотографии. Социальные сети предоставляют возможности по загрузке изображений, видео, и т.д. Блоги позволяют загружать опять же аватарки и/или изображения.

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

Проводимые тесты показали, что многие веб-приложения имеют множество проблем с безопасностью. Эти «дыры» предоставляют злоумышленникам обширные возможности совершать несанкционированные действия, начиная с просмотра любого файла на сервере и закачивания выполнением произвольного кода. Эта статья рассказывает об основных «дырах» безопасности и способах их избежать.
Читать дальше →
Total votes 77: ↑69 and ↓8 +61
Comments 57

Под прессом. Ломаем и защищаем Wordpress своими руками

Reading time 11 min
Views 90K


WordPress — это удобная блог-платформа для публикации статей и управления ими, на которой базируется огромное число различных сайтов. Из-за своей распространенности эта CMS уже давно является лакомым куском для злоумышленников. К сожалению, базовые настройки не обеспечивают достаточного уровня защиты, оставляя многие дефолтные дырки незакрытыми. В этой статье мы пройдем типичным путем «типового» взлома сайта на Wordpress, а также покажем как устранить выявленные уязвимости.
Читать дальше →
Total votes 29: ↑26 and ↓3 +23
Comments 11

Выбираем плагин для кэширования WordPress: бенчмаркинг 18 плагинов

Reading time 7 min
Views 65K


При разработке собственного сайта мы всегда хотим снизить время загрузки до минимума, и многие сделали это уже почти спортом, стараясь выгадать хотя бы 1/10 секунды. Все мы знаем, насколько важно кэширование, но существует много способов обмануть самого себя, смотря только на оценку времени загрузки. Для проведения теста мы попытались найти несколько различных кэширующих плагинов и проверить их производительность.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 21

Как обычному сайту на Wordpress набрать 99/100 в PageSpeed Insights

Reading time 5 min
Views 136K
Началось все с того что Adsense в очередной раз понизил оценку эффективности страниц:
image
А все мы знаем, что скорость сайта – один из факторов ранжирования в выдаче Гугла.

И если раньше удавалось исправить ситуацию простыми действиями, включить кэширование или сжать JS, то теперь, похоже, пришло время взяться за сайт основательно.

Изначально имеется сайтик со статьями, коих в интернете миллионы: CMS Wordpress 4.2, два десятка плагинов, тема, сверстанная фрилансером и shared хостинг.
Читать дальше →
Total votes 27: ↑23 and ↓4 +19
Comments 19

Светомузыка Processing + Arduino + RGB

Reading time 3 min
Views 71K

Вводная часть


Новогодние праздники давно миновали, уже пора готовиться к наступающему 2015 НГ.
Именно поэтому спешу поделиться идеей и реализацией светомузыки (гирлянды) на Ардуине и обрезке RGB ленты.
Идея, как всегда, пришла вовремя за 8 часов до НГ. Я украшая квартиру, понял, что остатками перегоревших гирлянд мне свою комнату не украсить!
Да и ритуальная перепайка дедовско-отцовских и китайских гирлянд уже достала. Хотелось чего-то нового!

Цель


Подключить к Ардуино RGB-ленту, и заставить её плясать под свою музыку с компьютера.

Результат



Читать дальше →
Total votes 31: ↑25 and ↓6 +19
Comments 22

Фотосигнализация

Reading time 5 min
Views 8K
В последнее время экономическая ситуация в нашей стране складывается не самая лучшая, что не способствует благоприятной криминогенной ситуации в целом и я думаю, если вы хоть иногда читаете местные новости то замечали что криминальных новостей становится больше. Поэтому-то я и стал задумываться о безопасности своего жилища, особенно после того как почитал в группе ВК нашего дома как было совершенно несколько ограблений. Тут еще роль сыграло то, что дом относительно недавно был сдан и после ремонта в нем еще часто можно встретить так называемых гасторбайтеров, а так как соседи еще не примелькались и мало кто знает друг друга в лицо, то на подозрителных личностей так же мало кто обратит внимание. Моя идея была проста собрать на малине музыкальный звонок параллельно засунув в корпус видео камеру и отслеживать всех входящих с уведомлением на телефон и их фото. Но… Неожиданно, в тему, мне на обзор подвернулся прибор под названием «Фотосигнализация» от компании Даджет, к тесту которого я немедленно и приступил.

image
Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Comments 37

<input> Я ♥ тебя, но ты меня обламываешь

Reading time 5 min
Views 54K

Привет, представляю твоему вниманию перевод статьи Моники Динкулеску '<input> I ♡ you, but you're bringing me down'. Художественный перевод с английского не является моей основной специализацией, поэтому в тексте возможны неточности. Правки призываю отправлять личным сообщением, а если есть что сказать, велкам в комментарии. Отдельное спасибо @Kt за редакторские правки. Приятного чтения.


Некоторые люди делают мебель. Некоторые люди вяжут. Некоторые люди имеют хобби, которые никак не пересекаются с HTML спецификациям из 90-х. Но я не из таких. И, вот история о том, как <input> стал той хренью, которой он является, и почему его надо сжечь


Ранние годы



1995 был клевым годом. Друзья, Скорая Помощь, Зена по телеку. TLC занимали верхушки чартов с хитом "Waterfalls". С браузерами было нормуль, потому что HTML было все очень нормуль. У нас были Mosaic, Netscape и IE1, а при утверждении спеков HTML 2, наконец, выкроили время для стандартизации форм. Девяносто пятый был годом рождения <input>, и теперь, когда он достаточно взрослый, чтобы покупать в магазине алкоголь, нам нужно поговорить.
Продолжить чтение статьи
Total votes 73: ↑63 and ↓10 +53
Comments 55

Глобалы — мечи-кладенцы для хранения данных. Деревья. Часть 1

Reading time 5 min
Views 36K
Настоящие мечи-кладенцы баз данных — глобалы — давно известны, но до сих пор немногие умеют эффективно ими пользоваться или вовсе не владеют этим супероружием.

Если использовать глобалы в решении тех задач, в которых они действительно хороши, то можно добиться выдающихся результатов. Либо в производительности, либо в упрощении решения задачи (1, 2).

Глобалы — это специальный способ хранения и обработки данных, совершенно другой, чем таблицы в SQL. Они появились в 1966 году в языке M(UMPS) (эволюционное развитие — Caché ObjectScript, далее COS) в медицинских БД и до сих пор там активно используются, а также проникли в некоторые другие области, где требуется надёжность и высокая производительность: финансы, трейдинг и т.д.

Глобалы в современных СУБД поддерживают транзакции, журналирование, репликацию, партиционирование. Т.е. на них можно строить современные, надёжные, распределённые и быстрые системы.

Глобалы не ограничивают вас пределами реляционной модели. Они дают свободу для разработки структур данных, оптимизированных под конкретные задачи. Для многих приложений разумное использование глобалов может быть поистине секретным оружием, обеспечивая производительность, о которой разработчики реляционных приложений могут только мечтать.

Глобалы как способ хранения данных можно использовать во многих современных языках программирования, как высокоуровневых, так и низкоуровневых. Поэтому в этой статье я сфокусируюсь именно на глобалах, а не на языке, из которого они когда-то вышли.
Читать дальше →
Total votes 39: ↑28 and ↓11 +17
Comments 336

Как определить поддельную Micro SD флеш карту

Reading time 8 min
Views 175K
Micro SD подделки

Предисловие


В последнее время Micro SD карты становятся всё более популярны. По этому поводу появляется всё больше продавцов, готовые на этой почве поживиться обманом и разными уловками на эту тему.
Понадобилась мне как-то Micro SD карта ёмкостью 64ГБ для небольшого проекта на Raspberry Pi. Но когда я стал искать что-то подходящее на eBay, то с удивление обнаружил, что подавляющее число продавцов выставляют откровенные подделки. Даже на Амазоне ситуация была не очень привлекательна в этом плане. На картинке выше все карты являются подделками.

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

Обещаю слайды.
Много слайдов. Трафик. Без SMS.
Total votes 50: ↑49 and ↓1 +48
Comments 130

TOP'ай сюда

Reading time 5 min
Views 177K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →
Total votes 401: ↑389 and ↓12 +377
Comments 122

Лучшие плагины для Sublime Text

Reading time 5 min
Views 638K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



Читать дальше →
Total votes 116: ↑114 and ↓2 +112
Comments 101

Как определить дубликаты картинок с помощью PHP

Reading time 4 min
Views 45K
В любом проекте человеческий фактор никто не отменял, и если пользователи самостоятельно грузят картинки на сайт – появления дубликатов не избежать. Когда доходит до тысяч файлов, глазами всего не пересмотреть, а повторяющиеся картинки мало того, что никому не нужны, так еще и занимают место, тратят ресурс и в конце концов тормозят работу.



Потому рано или поздно встает вопрос автоматизации процесса поиска повторов, и тут мы рассмотрим основные, а также попробуем в деле.
Читать дальше →
Total votes 45: ↑37 and ↓8 +29
Comments 24

Здоровье гика: как не закиснуть к старости

Reading time 7 min
Views 81K
Привет, Geektimes! Сегодня мы поговорим — внезапно! — о здоровье. А если быть точным — о том, как влияет многочасовое ежедневное сидение за компьютером и как можно минимизировать этот вред, чтобы в старости радоваться жизни и продолжать работать сидя за компом, а не жаловаться на жизнь на приёмах у врачей.


Наверное, многие гики считают, что уж вот их никак и никогда не посетят все сопутствующие болячки — дескать, не сутками же сидим, гулять ходим, да и вообще мы же не дальнобойщики. Грустно, но факт — проблемы случаются и от меньшего, поверьте. Поэтому стоит задуматься об этом уже сейчас. Тем более что радикально менять свой образ жизни и перестать гиковать не нужно :) Достаточно выделить суммарно пару часов в неделю на выполнение несложных физических упражнений.

Условно все «компьютерные» упражнения можно поделить на три блока — для глаз, для суставов кистей и для осанки. Итак, поехали.
Читать дальше →
Total votes 49: ↑44 and ↓5 +39
Comments 42

Загрузка и хранение фотографий в Web приложениях

Reading time 4 min
Views 111K

Почему это важно?


На современных web сайтах объем картинок может составлять от 30% до 70% всего размера страницы. Например, объем изображений на Хабре обычно составляет несколько мегабайт.

размер фоток на странице

Большинство изображений в Web'e — это фотографии. Профильные фото в соц. сетях, альбом с телефона, профессиональные снимки и т.п. Правильная стратегия и инструменты для работы с фотографиями позволят сделать сайт быстрым для посетителей.
Читать дальше →
Total votes 35: ↑31 and ↓4 +27
Comments 83

Многоуровневое меню для Arduino и не только

Reading time 7 min
Views 133K


Несколько месяцев назад на хабре появилась статья «Реализация многоуровневого меню для Arduino с дисплеем». «Но, погодите, — подумал я. — Я написал такое меню еще шесть лет назад»!

В далеком 2009 году, я написал первый проект на базе микроконтроллера и дисплея под названием «Автомат управления освещением», для которого потребовалось создать такую оболочку меню, в которую влезет тысяча конфигов, а то и более. Проект был успешно рожден, компилируется и способен работать до сих пор, а оболочка менюОС пошла кочевать из проекта в проект, используя лучшие практики Ущербно-Ориентированного программирования. «Хватит это терпеть» сказал я, и переписал код.

Подкатом вы найдете legacy-код отборного качества, сказ о том, как я его переписал, а также инструкции для тех, кто захочет это использовать.
Читать дальше →
Total votes 38: ↑35 and ↓3 +32
Comments 21

Регулируемый источник питания из БП ATX на TL494. Часть 1 — железо

Reading time 10 min
Views 397K
Всем привет!

Сегодня хотел бы рассказать Вам о своём опыте переделки самого обычного китайского БП ATX в регулируемый источник питания со стабилизацией тока и напряжения(0-20А, 0-24В).

В этой статье мы подробно рассмотрим работу ШИМ контроллера TL494, обратной связи и пробежимся по модернизации схемы БП и разработке самодельной платы усилителей ошибок по напряжению и току.

image
Читать дальше →
Total votes 44: ↑44 and ↓0 +44
Comments 36

Облако в штанах

Reading time 8 min
Views 104K

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

Рынок «облачных хранилищ» очень насыщен: есть как зарубежные решения, так и отечественные.

Например, одни из самых известных зарубежных это: Dropbox.com, GoogleDrive, Microsoft OneDrive
Из отечественных: Yandex.Диск, Облако Mail.ru

У каждого из вышеперечисленного есть как преимущества, так и недостатки.
Так, например, Dropbox бесплатно выдаст Вам всего 2Гб дискового пространства, что по сравнению с бесплатными 10Гб от Yandex.Диск явно меньше, но зато у Dropbox есть система контроля версий файлов, что для кого-то может оказаться очень важным.

Mail.Ru даст Вам 100Гб (давали даже 1Тб, если Вы устанавливаете их ПО, но вроде эту «халяву» прикрыли) но программное обеспечение не работает под консолью Linux, нет даже поддержки WebDAV.
(UPD.: В комментариях писали, что по адресу: https://webdav.cloud.mail.ru/ есть BETA-версия WebDAV, но как оно будет работать сейчас и как оно будет работать дальше — не известно. Используйте на свой страх и риск).
Для кого-то эти тонкости не важны, а кому-то принципиально необходимы, чтобы, например, делать в облако резервные копии своих фотографий с помощью командной строки домашнего роутера.
Так же если на MAIL.RU файлы загружать через web-морду, то работает ограничение на его максимальный объём: 2Гб, а если загружать с помощью родного клиента, то max размер файла может быть 32Гб. Критично это или нет — вопрос индивидуальный.

Лично я отношусь к той категории пользователей, которым нужно как можно больше бесплатного пространства для хранения и чтобы была возможность работать с хранилищем в Linux без графической оболочки. Большим плюсом будет наличие возможности подцепиться к этому хранилищу с мобильного устройства (смартфона/планшета), ведь нам же нужно «облако штанах».

Что же подойдёт под такие критерии? Из бесплатных — не много.
Читать дальше →
Total votes 39: ↑32 and ↓7 +25
Comments 78

Что нужно знать про миграцию в Россию к 1 сентября 2015-го с иностранной инфраструктуры

Reading time 8 min
Views 31K


Любой оператор персональных данных, обрабатывающий данные не в России, может попасть под блокировку.

Ниже я хочу рассказать про некоторые моменты миграции, с которыми мы уже сталкивались на практике при переносе клиентов в Россию на нашу инфраструктуру. Конечно же, первый вопрос будет про законы, второй — про то, как данные защищены от изъятия.
Читать дальше →
Total votes 38: ↑31 and ↓7 +24
Comments 53

Электронный рынок HuaQiangBei в Шэньчжэне

Reading time 6 min
Views 48K
Нельзя, путешествуя по Китаю, не зайти на электронные рынки. Это будет просто непростительно. Да и, наверняка, если вы сюда отправились, перед дорогой вы получили тысячу заказов уже на разную технику, часы, смартфоны итд.

В центре ШЖ – в получасе ходьбы от башни КК100 находится самый известный в южной части Китая магазин электроники — Хуачинбей. По сути это несколько кварталов с разного рода техникой и деталями.

Хотите прочувствовать Китай? Нравится торговаться? Любите шумные и людные места с бесконечной толчеей? Тогда вам сюда.


По узким переходам рынка
Total votes 37: ↑32 and ↓5 +27
Comments 19

Электроника для 3D сканера

Reading time 5 min
Views 38K
Начну с извинений. Как обидно получилось! Хотел собрать пятый сканер исправив все косяки, добротно все сделать, а тут проекты, ЕГЭ, олимпиады… В общем закрутилось все, так что извините все, кто ждал статей на эту тему. Для тех, кто не в теме, вот нулевая статья. А те, кто в теме и все еще интересуется, добро пожаловать под кат первой части. И будет она, как вы уже поняли, про электронику…



Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 10

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity