Pull to refresh
20
0.1

Mission Critical

Send message

Уязвимость связки PHP+nginx с кривым конфигом

Reading time1 min
Views60K

Summary


Announced: 2010-05-20
Credits: 80sec
Affects: сайты на ngnix+php с возможностью загрузки файлов в директории с fastcgi_pass




Background


Зачастую How-To по настройке связки nginx с php-fpm / php-cgi есть подобные строчки:

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    include fastcgi_params;
}

Читать дальше →
Total votes 163: ↑146 and ↓17+129
Comments109

Игра оффлайн: QR-коды и ориентирование в городе

Reading time2 min
Views8.1K
Буквально на днях встретил своего хорошего приятеля, которого я не видел довольно давно, разговорились. Оказалось, что я не просто так встретил его в центре Москвы. Он играет. В игре ему помогает его мобильник и ноутбук с выходом в сеть.
Читать дальше →
Total votes 68: ↑46 and ↓22+24
Comments38

Как сделать динамичный, переливающийся фон

Reading time1 min
Views11K
На сайте новаторского магазина thinkgeek.com столкнулся с любопытным эффектом — переливающимся фоном (чтобы увидеть конфетку нужно поработать колёсиком прокрутки). Сделан он очень просто, и все же подобная техника попалась мне впервые.

image

спешу поделиться:
Total votes 141: ↑117 and ↓24+93
Comments53

История одного бага или как я ZIP паролил

Reading time4 min
Views7.2K
Это история личного опыта, опыта поиска бага в чужом, старом, неподдерживаемом коде.
Все начиналось как обычно, передо мной стояла простая на первый взгляд задача: сделать упаковку файлов в текущей папке в ZIP архив с определенным паролем на C++/Qt, казалось бы что может быть проще?
Естественно, первый помощник это Google, он и подсказал что существует две Qt библиотеки для работы с ZIP архивами:
QuaZIP и OSDab ZIP, помимо всего, сам Qt поддерживает методы qCompress и qDecompress для упаковки.
Мною было выяснено что методы мне мало подходят, потому что они умеют лишь жать поток, все заголовки и шифрование на совести разработчика. Этот путь был слишком долог и от него я отказался сразу и обратил свое внимание на библиотеки.
OSDaB ZIP пришлось отбросить сразу, не смотря на то, что это отличная библиотека, ее код распространяется только под лицензией GPL, мне же нужно было встроить функционал в проприетарное приложение. К счастью QuaZIP оказался с двумя лицензиями GPL и LGPL. На нем я и остановился. Особо не вникая в его устройство, я набросал простейший класс для работы ним и начал тестировать.

узнать продолжение истории
Total votes 134: ↑127 and ↓7+120
Comments34

В vBulletin обнаружена серьёзная уязвимость

Reading time1 min
Views3.9K
image
В популярном движке для форумов vBulletin нашли интересную уязвимость — при вводе в поиске на странице FAQ слова «database» на экран выводится вся информация о подключения к MySQL серверу.

Проблему устранили в vBulletin версии 3.8.6-PL1.
Если верить разработчикам — данный баг был просто недосмотром, из движка забыли убрать часть дебаг-кода.
Total votes 19: ↑12 and ↓7+5
Comments22

Релиз форумного движка нового поколения Vanilla 2.0

Reading time2 min
Views11K
Вышел долгожданный релиз второй версии форумного движка vanilla. В блоге разработчиков появилось новость о релизе.

Что такое Vanilla?




Vanilla forums — это минималистичный форумный движок. Цель проекта — создать простой инструмент для онлайн-конференций с простой возможностью наращивания функционала. Нет, это не второй phpbb, это действительно очень упрощённый форум.

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

Несмотря на свою кажущуюся простоту этот движок «из коробки» даёт почти всё, что нужно большинству пользователей, как-то: разграничение прав, подфорумы и категории, html/bbcode/markdown.

Что нового?


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

Читать дальше →
Total votes 72: ↑63 and ↓9+54
Comments75

Type Folly — изумительно простой онлайн редактор CSS3

Reading time2 min
Views2.6K



По собственной инициативе выкладываю на суд сообщества проект моего друга, со сложно выговариваемым именем Mircea Piturca.

Встречайте: Type Folly — очень простой и удобный онлайн редактор CSS. Для новичков самое оно.

UPD: Автор внес изменения и поправил баги. Спасибо Хабрасообщству.

Или если верстальщик заболел, например...
Total votes 103: ↑95 and ↓8+87
Comments40

Почему Jabber свободен от спама?

Reading time2 min
Views2K
Пост написан как ответный к мифическим постам типа этого, о невозможности(а точнее а неймоверной сложности спама в джаббере). Ниже будет описана несложно реализованная программа для спама.
Читать дальше →
Total votes 113: ↑53 and ↓60-7
Comments41

Bubble Engine — плагин для jQuery. Машина по созданию мыльных пузырей

Reading time1 min
Views3.6K
Хочу представить читателям интересный jQuery плагин, который будет интересен тем, кто хочет использовать на сайте какую-то интересную анимацию без использования Adobe Flash.

image

Читать дальше →
Total votes 60: ↑45 and ↓15+30
Comments29

Делаем ссылки во flash-баннере, не имея исходников

Reading time2 min
Views3.3K

Зачем?



Вам никогда не приходила верстка с flash-элементами, которые должны быть ссылками на внешние или внутренние ресурсы, но на деле таковыми не являющимися? При этом, когда вы не flash-разработчик и Flash IDE под рукой нет (а то и операционная система, в которой вы работаете, эту самую Flash IDE не поддерживает) — это становится небольшим затруднением. Можно, конечно, пнуть верстальщика, чтобы он все поправил, но это требует времени, а значит денег. Кроме того, пинать его каждый раз когда URL поменяется не самая лучшая идея.

На помощь приходят swftools



На сайте разработчика можно узнать, что это набор консольных утилит для работы с .swf файлами. Утилиты эти хорошие и разные (например, компилятор ActionScript не умеет компилировать Box2D, то есть не всякий синтаксис ActionScript понимает), но с нашей задачей они справятся.
Утилиты, к слову говоря, умеют:
  • конвертировать в swf из pdf (PDF2SWF)
  • вытаскивать из swf-роликов контент (SWFDump, SWFStrings, SWFBBox, SWFExtract )
  • конвертировать в swf некоторые графические/аудио/видео форматы файлов (JPEG2SWF, PNG2SWF, GIF2SWF, WAV2SWF, AVI2SWF)
  • импортировать в swf-ролик шрифты TTF, Type1 (Font2SWF)
  • компилировать код ActionScript3 с определенными ограничениями


Хорошо, а ссылки в баннерах как сделать?


об этом под катом
Total votes 19: ↑15 and ↓4+11
Comments3

7 бесплатных сервисов для проверки сайтов (о которых вы могли и не знать)

Reading time2 min
Views253K
Картинка для привлечения внимания
Мне достаточно часто приходится использовать различные онлайн-сервисы для проверки доступности сайтов и их поверхностных тестов и проверок.
Как показал краткий опрос коллег — почти у всех эти наборы сервисов отличаются. Я хочу показать вам свой, прошу в
подробности
Total votes 188: ↑181 and ↓7+174
Comments72

Pubcookie: единая точка аутентификации для веб-приложений

Reading time8 min
Views6.9K
Существует множество решений, позволяющих в том или ином виде реализовать технологию единого входа (Single Sign On). Под единым входом понимается ситуация, когда авторизовавшись один раз на некотором выделенном сервере авторизации (или просто на своей машине), вы получаете доступ ко всем доступным сетевым ресурсам без дополнительной авторизации.

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

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

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

OpenSource Система электронных дневников: год спустя

Reading time3 min
Views3.6K
Год назад на Хабре начался путь моей системы, призванной обеспечить лёгкий старт информатизации в школах. Для тех кому лень переходить по ссылке и читать: написанная на Django, аскетичная OpenSource система электронных дневников для школ. С момента этой публикации многое изменилось.
Я попытался разделить кучу приятных и не очень произошедших за это время событий, на категории.
Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments42

Подмена фона в видеочате

Reading time2 min
Views46K
[Under Siege 2: Dark Territory]14 июля 1995 года на киноэкраны вышел фильм «Under Siege 2: Dark Territory» (в российском прокате — «Захват 2: Тёмная территория»). Один из персонажей этого фильма — злой гений-компьютерщик Трэвис Дэйн — создавал видеозапись своего лица на подменённом фоне, чтобы нельзя было установить подлинное местонахождение террористов (он использовал для этой цели фотографию Эйфелевой башни в Париже).

Прошло пятнадцать лет.

Сегодня не нужно быть компьютерным гением, чтобы подменить фон в своём видеочате. И в Chatroulette, и в Skype, и в видеокомнатах Smotri.com многие делают это. Однако, чем больше я вижу таких трюков, тем чаще вижу поверх них название программы WebcamMax. В общем-то, это и неудивительно: программа эта — платная, а в демонстрационной версии поверх видео накладывается неотключаемый «баннер». Но почему же любители видеочата не могут найти и использовать бесплатный аналог её? Я ненавистник баннерной рекламы, поэтому желал бы, чтобы все эти люди использовали другой софт.

Обращаюсь тотчас же через Хабрахабр, чтобы открытым текстом всем рекомендовать ManyCam неплохую программу, freeware, обладающую достаточными способностями для замены фона во время видеочата на любую фотографию или подвижную видеозапись из файла. Она доступна не только для Windows, но также и для Mac.

Читать дальше →
Total votes 87: ↑70 and ↓17+53
Comments26

Как я стал нодой

Reading time3 min
Views7K
image
О Фидонете я знал давно. Ещё в далеком 2003 году, получив в своё распоряжение модем на 14400, первым делом я попытался подключиться к Сети Друзей. Но… Не сложилось. Потом появилось подключение к интернету, подписка в режиме read-only через NNTP, но мысль не только читать, но и писать всё равно осталась где-то в подсознании…

Год 2010. Пойнт.


И вот на дворе 2010 год. А если точнее — апрель-месяц. Появляется статья История одного пойнта, что выводит писательскую мысль из коматоза и отправляет на поиски пойнтового адреса у Сергея (2:5020/2140). И вот оно — первое сообщение и первый нетмейл!
Я сразу понял, что радость только начинается…
Читать дальше →
Total votes 168: ↑122 and ↓46+76
Comments216

Генерация web-шрифтов

Reading time1 min
Views5.3K
Ради интереса, прошелся поиском по хабру, и обнаружил, что тут не освещен один очень полезный сервис: http://www.fontsquirrel.com
Пожалуй, это самый удобный сервис такого рода, создающий на выходе html-страницу с подключенными шрифтами в разных форматах, готовыми font-face в css и демо-текстом.
При этом есть масса настроек по кастомизации шрифтов во время конвертирования.
В частности, можно уменьшить их вес, убрав часть символов или оптимизировав кривые. Так же он умеет хинтовать шрифты и кодировать их в base64. В общем, есть всевозможные плюшки.
Total votes 53: ↑46 and ↓7+39
Comments14

I2P — Проект Невидимый Интернет

Reading time2 min
Views273K
Всем доброго времени суток!

С недавних пор организации по защите авторских прав и «отделы К» многих стран начали вести весьма агрессивную политику против анонимности в сети и пиратства. Особо показательны истории с torrents.ru и ifolder.ru.

Подробнее об интернет-цензуре можно почитать в Википедии.

Чтобы оградить пользователя и хостера от «вредного» влияния государства и частных компаний была создана сеть I2P. Что же это такое и как подключиться к I2P — читаем под катом.

Читать дальше →
Total votes 138: ↑129 and ↓9+120
Comments120

Делаем твёрдый переплёт для любимых книжек

Reading time6 min
Views523K
Небольшое вступление

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

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

Большое вступление

Некоторое время назад мне захотелось прочитать цикл Дугласа Адамса «Автостопом по галактике». Я попробовал почитать несколько переводов и не один меня не устроил. Поэтому было принято решение — читать на английском! Найти эти книги в оригинале в наших книжных магазинах довольно сложно. А если и есть, то только первая часть цикла. В электронном виде найти несколько проще. Но я предпочитаю читать с бумаги (читалку на E-ink куплю обязательно — очень нравятся), поэтому книги я распечатываю.

Первые две книги выглядели так:
image

Я их прочитал с огромным удовольствием, но выглядели они не очень хорошо. И я решил, что «Life, the Universe, and Everything» нужно делать книжкой.

Процесс с картинками и комментариями под катом. Осторожно, действительно много картинок.
Читать дальше →
Total votes 348: ↑337 and ↓11+326
Comments142

Умная раскладка через ComposeKey

Reading time3 min
Views3K
Этот топик — продолжение моего предыдущего, где я описывал проблему с переключениями раскладок, если их три и больше. В этом топике я расскажу о решении этой проблемы через ComposeKey. Помимо того, ComposeKey отлично подойдет и для других целей.
Читать дальше →
Total votes 43: ↑35 and ↓8+27
Comments12

Information

Rating
2,320-th
Registered
Activity