Яков Шуваев @91koff
Системный архитектор
Очевидные 3 правила безопасности
2 min
60KПравило №1. Делайте все авторизационные куки HttpOnly
Куки с флагом HttpOnly не видны браузерному коду, а отправляются только на сервер. На практике у вас почти никогда нет необходимости получать их содержимое со стороны клиента (если такая необходимость почему-то у вас возникла — пересмотрите архитектуру авторизации, скорее всего, там что-то не так). А вот злоумышленнику, нашедшему XSS — а XSS так или иначе когда-нибудь где-нибудь найдется — отсутствие HttpOnly на авторизационных куках доставит много радости.
+107
Типичная ошибка при установке COOKIE в PHP
2 min
75KХочу поделиться одной особенностью при установке значений COOKIE, которую очень часто забывают веб-разработчики.
В моей практике исследования веб-приложений на уязвимости, за 2009-2011 года, данная ошибка встретилась в 87% веб-приложений, написанных на PHP.
Чтобы как-то уменьшить данный показатель, решил написать этот текст.
Речь пойдет даже не о httpOnly флаге, хотя его использование не менее важно и обязательно к применению.
В моей практике исследования веб-приложений на уязвимости, за 2009-2011 года, данная ошибка встретилась в 87% веб-приложений, написанных на PHP.
Чтобы как-то уменьшить данный показатель, решил написать этот текст.
Речь пойдет даже не о httpOnly флаге, хотя его использование не менее важно и обязательно к применению.
+16
Файлы уходят в облака. Выбираем облако
4 min
127KПосле недавних событий по массовому открытию новых облачных хранилищ ваш покорный слуга задался вопросом: «Какие есть сейчас хранилища и куда можно запихнуть свои жизненно необходимые файлы?»
Некоторое время рысканья по хабру/гуглу и прочим конторам привело к следующему списку хранилищ:
Baidu, Bitcasa, Box.net, Dropbox, Google Drive, Microsoft SkyDrive, SpiderOak, Wuala, Яндекс.Диск
В самом конце статьи ищите сравнительную таблицу.
+60
Сотрудник по фамилии Нуль обрушил корпоративное ПО
1 min
21KБольше года назад на сайте QA по программированию StackOverflow один пользователь попросил помощи по такому вопросу. У них на фирме есть сотрудник по фамилии Нуль (Null). Проблема в том, что из-за него падает корпоративное поисковое приложение, если фамилию сотрудника использовать как поисковый запрос (что в последнее время происходит очень часто). Ошибка:
Для параметра указан строковый тип данных. Используется WSDL (SOAP). Flex 3.5 Actionscript 3 ColdFusion 8.
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>coldfusion.xml.rpc.CFCInvocationException: [coldfusion.runtime.MissingArgumentException : The SEARCHSTRING parameter to the getFacultyNames function is required but was not passed in.]</faultstring>
Для параметра указан строковый тип данных. Используется WSDL (SOAP). Flex 3.5 Actionscript 3 ColdFusion 8.
+122
Воронка продаж: делаем автоматически обновляемый отчет из базы данных с помощью Excel
6 min
8.8KЕсли вы продаете онлайн-сервис, вам, наверное, хотелось бы видеть, что происходит на каждом этапе воронки продаж. Из анализа воронки можно сделать важные выводы: насколько понятен и удобен процесс установки и начальной настройки приложения, как много и какие клиенты становятся активными пользователями сервиса, какой процент переходит с бесплатной версии на платную. Кроме того, по динамике коэффициентов конверсии можно делать вывод об эффективности принимаемых мер для увеличения продаж.
Под катом вы найдете описание некоторых приемов работы с Excel, которые могут быть полезны при анализе массивов данных. Мы расскажем, как мы ведем управленческую статистику по сервису jivosite.ru с помощью сводных таблиц Excel и подключения к MySQL через ODBC на примере отчета по воронке продаж. Предлагаемый способ довольно прост и универсален, с его помощью можно строить красивые отчеты за считанные минуты.
Под катом вы найдете описание некоторых приемов работы с Excel, которые могут быть полезны при анализе массивов данных. Мы расскажем, как мы ведем управленческую статистику по сервису jivosite.ru с помощью сводных таблиц Excel и подключения к MySQL через ODBC на примере отчета по воронке продаж. Предлагаемый способ довольно прост и универсален, с его помощью можно строить красивые отчеты за считанные минуты.
+21
Один конфиг Nginx для работы с кучей разных сайтов
3 min
106KЕсли вам приходилось настраивать Nginx под нужды веб-студии, сеошников или киберсквоттеров ;), то уже наверняка знаете про символ подчёркивания в качестве server_name. Тем не менее несколько других небесполезных приёмчиков из моего примера почерпнуть можно.
Чтоб создать новый сайт на сервере с такой конфигурацией, достаточно создать директорию с именем сайта и залить в неё содержимое. А конфигурационный файл остаётся единственным и неизменным.
Конфиг делает следующее:
1. Отрезает «www» от адреса, дабы сервер нашел директорию с сайтом невзирая на эти буквы в URL.
2. Выдаёт отдельную страничку при запросе несуществующего сайта.
3. Делает стандартный редирект на index.php в корне сайта при запросе несуществующего пути.
4. Перенаправляет запрос на php-fpm при вызове .php файлов.
5. Добавляет возможность обработки .htm(l) файлов как PHP.
Чтоб создать новый сайт на сервере с такой конфигурацией, достаточно создать директорию с именем сайта и залить в неё содержимое. А конфигурационный файл остаётся единственным и неизменным.
Конфиг делает следующее:
1. Отрезает «www» от адреса, дабы сервер нашел директорию с сайтом невзирая на эти буквы в URL.
2. Выдаёт отдельную страничку при запросе несуществующего сайта.
3. Делает стандартный редирект на index.php в корне сайта при запросе несуществующего пути.
4. Перенаправляет запрос на php-fpm при вызове .php файлов.
5. Добавляет возможность обработки .htm(l) файлов как PHP.
+25
Fake S3 для офлайновой разработки и экономии денег
1 min
3.5KКёртис Спенсер (Curtis Spencer) с коллегами из компании Spool разработали легковесный сервер Fake S3, который ведёт себя как настоящий Amazon S3 и помогает тестировать проекты, не гоняя данные в облако и не тратя деньги на трафик. К тому же, для тестирования Fake S3 надёжнее, потому что работает локально. Спенсер говорит, что благодаря Fake S3 они сэкономили около $1000 за последний месяц на одной только оплате трафика.
Установка
Для запуска сервера нужно указать хост и порт
Установка
gem install fakes3
Для запуска сервера нужно указать хост и порт
fakes3 -r /mnt/fakes3_root -p 4567
+70
10 лучших инструментов для разработки и администрирования MySQL
6 min
713KМногие компании создают различные многофункциональные приложения для облегчения управления, разработки и администрирования баз данных.
Большинство реляционных баз данных, за исключением MS Access, состоят из двух отдельных компонентов: «back-end», где хранятся данные и «front-end» — пользовательский интерфейс для взаимодействия с данными. Этот тип конструкции достаточно умный, так как он распараллеливает двухуровневую модель программирования, которая отделяет слой данных от пользовательского интерфейса и позволяет сконцентрировать рынок ПО непосредственно на улучшении своих продуктов. Эта модель открывает двери для третьих сторон, которые создают свои приложения для взаимодействия с различными базами данных.
В Интернете каждый может найти много продуктов для разработки и администрирования баз данных MySQL. Мы решили собрать 10 самых популярных инструментов в одной статье, чтобы вы смогли сэкономить свое время.
Большинство реляционных баз данных, за исключением MS Access, состоят из двух отдельных компонентов: «back-end», где хранятся данные и «front-end» — пользовательский интерфейс для взаимодействия с данными. Этот тип конструкции достаточно умный, так как он распараллеливает двухуровневую модель программирования, которая отделяет слой данных от пользовательского интерфейса и позволяет сконцентрировать рынок ПО непосредственно на улучшении своих продуктов. Эта модель открывает двери для третьих сторон, которые создают свои приложения для взаимодействия с различными базами данных.
В Интернете каждый может найти много продуктов для разработки и администрирования баз данных MySQL. Мы решили собрать 10 самых популярных инструментов в одной статье, чтобы вы смогли сэкономить свое время.
+58
Nginx как Reverse Proxy для сайта, использующего SSL
3 min
126KВведение
Как настроить nginx в качестве frontend к apache и зачем это нужно — написано неоднократно, в том числе и на Хабре. Мой случай немного отличается от классического. Начиналось все как обычно, проект на apache, увеличение количества посетителей и, связанная с ним, недостаточность ресурсов сервера. Но проект использовал SSL для защиты обмена данными с клиентами. С чем я столкнулся и как решил проблемы я расскажу под катом.
+4
Используем правительственный сайт zakupki.gov.ru как средство бесплатного хостинга статических файлов
1 min
14KTutorial
Как стало известно вчера от Навального, Федеральное казначейство РФ умышляет потратить ещё 778 миллионов рублей на развитие портала zakupki.gov.ru, куда ужé зафигачили более 360 миллионов рублей.Важная преамбула: нижеописанная страница, допускающая закачку файловна сайт zakupki.gov.ru без авторизации, была устранена менее чем через 2 часа после публикации этой блогозаписи на Хабрахабре. Блогозапись сохраню, однако же, для истории, тем более что в комментариях Stigmated выложил альтернативный (действующий) способ закачки.
Спрашивается: есть ли
(Я пишу «небольшую дыру», так как
Обратите внимание на адрес нижеследующей иллюстрации, сегодня утром туда залитой:
Адрес её (http://zakupki.gov.ru/pgz/documentdownload?documentId=39240775) позволяет цинично предполагать,
+142
Дыры на zakupki.gov.ru
1 min
7.9KОбнаруженная ранее дыра в системе безопасности гова — ещё не самая глубокая.
Если зайти на ФТП сервер гова…
Если зайти на ФТП сервер гова…
+64
+10 к интеллекту
9 min
165KТак или иначе, практически каждый из нас использовал в своей жизни технику интеллект–карт или Mind Mapping. Это всего лишь простая радиальная схема, но с правильным подходом ее можно превратить в мощный инструмент аналитики и синтеза информации, который всегда под рукой и достаточно прост в использовании. И что самое интересное, освоение техники настолько естественно для нашего мозга, что занимает всего лишь несколько минут…
+60
ISO 9001 в ИТ компании
5 min
17KСейчас редко найдешь среднюю или большую ИТ компанию, не имеющую ISO 9001 сертификата.
Тем не менее, я считаю, что в ближайшей перспективе ISO 9001 умрет для ИТ мира. Почему?
Попытаюсь обосновать.
+5
Упражнения по взлому Linux-систем
2 min
16KДля тех, кто интересуется вопросами безопасности и уязвимостями Linux, создан обучающий проект exploit-exercises.com с подборкой виртуальных Linux-машин, описаниями уязвимостей, документацией и практическими заданиями.
1. Виртуальная машина Nebula
торрент-файл
прямая ссылка
Самые общие уязвимости, связанные с эскалацией привилегий в Linux: это SUID-файлы, разрешения, состояние гонки (race conditions), метапеременные оболочки, уязвимости $PATH, уязвимости скриптовых языков, ошибки компиляции бинарных файлов.
1. Виртуальная машина Nebula
торрент-файл
прямая ссылка
Самые общие уязвимости, связанные с эскалацией привилегий в Linux: это SUID-файлы, разрешения, состояние гонки (race conditions), метапеременные оболочки, уязвимости $PATH, уязвимости скриптовых языков, ошибки компиляции бинарных файлов.
+97
N+2 полезные книги для бизнеса, которые обязательно стоит прочитать
5 min
96KВ прошлом году я делал обзор книг, на которых реально растут люди и реально улучшаются процессы.
Тогда понадобился год, чтобы прочитать в десять раз больше бумаги и сделать выборку, которая оказалась неожиданно полезной многим. Вот результаты ещё одного года — ещё N+2 книги для бизнеса, которые реально помогают.
Тогда понадобился год, чтобы прочитать в десять раз больше бумаги и сделать выборку, которая оказалась неожиданно полезной многим. Вот результаты ещё одного года — ещё N+2 книги для бизнеса, которые реально помогают.
+94
Из чрута — на поверхность: как, почему и что делать?
2 min
25KОсновано на реальных событиях.
Представьте себе, что у вас есть крупный проект, для которого необходимо собирать софт. А ещё у вас есть желание замутить сборочную ферму, на которой ваши подчинённые будут собирать нужный софт. А ещё это всё происходит под Linux-ом, и каждому надо организовать «чистое» окружение с минимумом затрат. Как это сделать?
В зале подняли руки несколько человек и воскликнули «chroot!». Вы согласились, что это просто, быстро и каждый получает полностью ресурсы хостовой машины. Все заапплодировали, решение принято.
А через неделю после интеграции этого решения и после увольнения сотрудника «икс» вы просыпаетесь — а на сервере девственно чистый жёсткий диск. Злодей уничтожил труды разработчиков, работа встала.
Почему же он сумел удалить всё, если был в «защищённом» «запертом» чруте?
Представьте себе, что у вас есть крупный проект, для которого необходимо собирать софт. А ещё у вас есть желание замутить сборочную ферму, на которой ваши подчинённые будут собирать нужный софт. А ещё это всё происходит под Linux-ом, и каждому надо организовать «чистое» окружение с минимумом затрат. Как это сделать?
В зале подняли руки несколько человек и воскликнули «chroot!». Вы согласились, что это просто, быстро и каждый получает полностью ресурсы хостовой машины. Все заапплодировали, решение принято.
А через неделю после интеграции этого решения и после увольнения сотрудника «икс» вы просыпаетесь — а на сервере девственно чистый жёсткий диск. Злодей уничтожил труды разработчиков, работа встала.
Почему же он сумел удалить всё, если был в «защищённом» «запертом» чруте?
+47
Важные изменения в Oracle Database Patch Sets начиная с 11.2.0.2
3 min
6KTranslation
На днях компания Oracle выпустила очередной патчсет для своей базы данных с версией 11.2.0.2. Этот патч ознаменовал также важное изменение в формах выпуска патчсетов. Этому вкратце и будет посвящен этот перевод статьи на сайте My Oracle Support — Important Changes to Oracle Database Patch Sets Starting With 11.2.0.2 [ID 1189783.1]
Начиная с патчсета 11.2.0.2 – все пачтсеты к Oracle Database будут являться полными инсталляциями продукта. (И весят они теперь соответственно – прим. переводчика). До этой версии патчсеты представляли собой определенный набор файлов, которые заменяли собой файлы существующей установки.
Начиная с патчсета 11.2.0.2 – все пачтсеты к Oracle Database будут являться полными инсталляциями продукта. (И весят они теперь соответственно – прим. переводчика). До этой версии патчсеты представляли собой определенный набор файлов, которые заменяли собой файлы существующей установки.
+4
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Works in
- Date of birth
- Registered
- Activity