Pull to refresh
  • by relevance
  • by date
  • by rating

Типичные уязвимости на сайтах, со статистикой

Информационная безопасность
Этот топик будет посвящен:

  • статистике встречаемости уязвимостей
  • реакции администрации(скорости и адекватности)
  • опасности

и всяческим другим факторам. Будут приведены примеры.

Разберемся?
Total votes 132: ↑103 and ↓29 +74
Views65.2K
Comments 35

Визуализация шаблонов использумых паролей

Информационная безопасность
Sandbox

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

Немного вольный перевод статьи под катом
Total votes 43: ↑40 and ↓3 +37
Views19.4K
Comments 26

Популярность тегов Хабра: какие тренды в постах?

Ненормальное программированиеPython
HabrTrend
Доброго времени суток!

Сегодня речь пойдёт о том, как можно попробовать проследить тенденции. Глядя на то, как это делает google появилось желание сделать подобные тренды на основе тегов Хабра. Возможно, не все пользователи добросовестно расставляют теги, но допустив это как истину, можно получить неплохие результаты. Итак, давайте попробуем.
Читать дальше →
Total votes 54: ↑45 and ↓9 +36
Views15.9K
Comments 14

Каркас для Event-Driven программирования

ПрограммированиеJava
Recovery mode

Немного лирики


image
Чем дольше я программирую, тем больше мне нравятся слабосвязанные системы, которые состоят из большого числа разрозненных единиц (модулей), ничего не знающих друг о друге, но предполагающих существование других. Такие системы в идеале должны собираться подобно конструктору, без зависимостей и без адаптирования друг к другу. В идеале, в процессе работы такой системы, все необходимые задачи должны выполняться без остановки системы, простым введением нового модуля в мир (скажем, вбросом jar'ника в classpath), и система немедленно начнет взаимодействовать с новым модулем.
В связи с этим, очень привлекательно выглядит парадигма event-driven (или Событийно-ориентированное) программирование.
Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Views21.8K
Comments 15

Клуб анонимных Дедов Морозов 2013 — 2014

Децентрализованные сети

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

Что, вы тоже, нося очки, свитер и имея выход в Интернет, еще «не в теме»? Ооо, ну тогда бросайте все дела и продолжайте читать дальше!
Читать дальше →
Total votes 148: ↑139 and ↓9 +130
Views76.9K
Comments 552

R: хороплет-карта России с увеличенной европейской частью

RВизуализация данных
Tutorial

Коротко о главном: прочитал недавно пост infotanka. Полез на сайт Татьяны Мисютиной и подсмотрел там хороплет-карту России с увеличенной европейской частью. И ведь, действительно, классная идея. Удобно, наглядно. Захотелось сделать себе шаблон под R для таких же графиков. Ведь хорошие идеи должны размножаться делением?
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views12.6K
Comments 13

Аппаратная поддержка алгоритма AES современными процессорами

Информационная безопасностьПрограммированиеAssembler

Компанией Intel в 2008 г. были предложены новые команды для x86 архитектуры, которые добавили поддержку на аппаратном уровне симметричного алгоритма шифрование AES(Advanced Encryption Standard). На данный момент AES — один из самых популярных алгоритмов блочного шифрования. Поэтому аппаратная реализация должна привести к повышению производительности программ использующих этот алгоритм шифрования(OpenSSL, The Bat, TrueCrypt ...). Новое расширение команд получило название AES-NI. Оно содержит в себе следующие инструкции:
  • AESENC — Выполнить один раунд шифрования AES,
  • AESENCLAST- Выполнить последний раунд шифрования AES,
  • AESDEC — Выполнить один раунд расшифрования AES,
  • AESDECLAST — Выполнить последний раунд расшифрования AES,
  • AESKEYGENASSIST — Поспособствовать в генерации раундового ключа AES,
  • AESIMC — Обратный Mix Columns.

Так как про сам алгоритм шифрования AES было уже было сказано многое, то в этом посте рассмотрим, как можно воспользоваться этими инструкциями.

Читать дальше →
Total votes 59: ↑56 and ↓3 +53
Views42.1K
Comments 23

1С уверенно выходит на рынок мобильной разработки

Разработка мобильных приложений
Сразу предупреждаю, что данный пост — не шутка! Я прекрасно понимаю, что половина аудитории хабра свято верят в то, что компания 1С разрабатывает исключительно бухгалтерское ПО. А вторая половина знает эту компанию исключительно как дистрибьютора и локализатора компьютерных игр. У меня нет образования маркетолога и я так же не являюсь сотрудником вышеупомянутой компании, которых учат «правильно отвечать на вопросы», а потому даже и не надеюсь одним постом пробить все стереотипы. Я просто хочу поделится своим взглядом на один из видов деятельности 1С, с которым я вплотную работаю уже почти 11 лет. А выводы уже делайте сами.

image
А теперь по делу...
Total votes 32: ↑19 and ↓13 +6
Views32.2K
Comments 33

Фантастический рассказ

Читальный залНаучная фантастика
В статье NASA: найдено 715 новых планет, 4 из них могут быть пригодны для жизни мною экспромтом под настроение был сочинен небольшой рассказик. Привожду его ниже с минимальными правками. И родилась идея написать рассказ специально для публикации на хабре, если, конечно, хабрасообщество выразит заинтересованность.
Читать дальше →
Total votes 22: ↑13 and ↓9 +4
Views6.3K
Comments 32

(Архив) Matreshka.js v0.1

Matreshka.jsРазработка веб-сайтовJavaScript
Tutorial
Статья устарела. См. актуальную историю версий.


(Все предыдущие статьи обновлены до актуального состояния)
Репозиторий

Сайт (там же и документация)

Matreshka LogoВсем привет. Прошло 5 месяцев после последней публикации серии статей о Матрешке. С тех пор исправлен небольшой ряд найденных ошибок, появилось несколько удобных фич, в том числе и под влияниев ваших комментариев, проект обрел спонсора в лице Shooju, получил логотип и нормальный, не-бутстраповский сайт.

Читать дальше →
Total votes 42: ↑38 and ↓4 +34
Views9.6K
Comments 5

Про Сталина, Дурова, печеньки и параметр EncryptedPasswd

Информационная безопасностьРазработка под AndroidРеверс-инжиниринг
В ходе неудачной попытки хабрасуицида в комментах к статье про психологическую помощь травмированному СМС-ками ребенку, я поведал о своем сне в котором Сталин кормил связанного Дурова шоколадными печеньками, а из трубки у Сталина вместо дыма выходил публичный ключ Google Play в base64. Этот сон мне приснился после длинного и нудного реверсинга мобильного протокола Google Play. Там же, в комментах, мне предложили написать об этом отдельную статью. Ну вот собственно эта статья и есть. В ней я предлагаю поговорить о моем сне, а также о параметре EncryptedPasswd в POST запросе к android.clients.google.com/auth.
Читать дальше →
Total votes 95: ↑78 and ↓17 +61
Views29.9K
Comments 40

ASP.NET vNext. Open Source и с поддержкой Linux

.NETMono и Moonlight
Microsoft анонсировали новую версию стека ASP.NET под лицензией Apache 2 с поддержкой запуска на платформе Mono. Помимо открытости исходников распространяться это дело будет через NuGet, а разработка вестись под эгидой .NET Foundation. Так же новый стек оптимизирован под облачные платформы, а инструментарий разработки позволяет вносить изменения в код без перкомпиляции и перезапуска.

Изменения касаются так же MVC, Web API, Web Pages, SignalR и EF. MVC, Web API и Web Pages теперь придерживаются единой програмной модели, например, используется один и тот механизм маршрутизации, а базовый контроллер один на всех, с одного адреса можно возвращать как вьюшки, так и ответы WebAPI. Оптимизация под облака по большей части заключается в том, что механизмы типа кеширования прозрачно переключают свою реализацию в зависимости от того, где запущено приложение.
Total votes 48: ↑45 and ↓3 +42
Views13.6K
Comments 27

Как бесплатно отправлять push оповещение на iphone из своего скрипта c помощью Boxcar 2

Смартфоны
Tutorial
Появилась задача отправлять на iphone оповещения. Конечно, было бы проще сделать это обычным email-ом, но клиент настоял именно на push-е. Поэтому пришлось пользоваться поиском. К моему удивлению ни на хабре, ни в русской части интернета рабочего примера, как делать бесплатный push, не оказалось. Надо бы это исправить.

Нам потребуется установить бесплатное приложение Boxcar 2, так же в нашем скрипте должна быть поддержка CURL.



Под катом представлено пошаговое руководство и пример на php.
Читать дальше →
Total votes 23: ↑18 and ↓5 +13
Views7.6K
Comments 16

Пишем Skype бота на C# с модульной архитектурой

Open source.NETC#
Recovery mode
imagealert('Привет Хабр!');

Давно уже засела мысль сделать эдакую тулзу-помощника, которая смогла бы мне и курсы валют вывести и погоду подсказать и анекдот затравить, да всё руки не доходили… ну вы же знаете как это бывает, верно? Кроме того, в моём бесконечном списке с забавными идеями, которые неплохо бы когда-нибудь реализовать — был пункт «бот для скайпа 4fun».

Руки дошли. Речь пойдёт о написании простого модульного бота на C# с интеграцией в Skype. Что получилось в итоге, а также почему стоит выключать системник от сети перед тем как в него лезть отвёрткой — читайте под катом.
Читать дальше →
Total votes 79: ↑71 and ↓8 +63
Views71.7K
Comments 29

Клуб анонимных Дедов Морозов на Хабре 2014-2015

Децентрализованные сети
image

Привет Дедам Морозам!

С небольшим опозданием, мы рады сообщить вам, что Клуб анонимных Дедов Морозов 2014-2015 на Хабрахабре открыт!
Внутри много важного
Total votes 48: ↑44 and ↓4 +40
Views31K
Comments 397

Когда никто не читает Хабр

Data MiningВизуализация данных
Давным давно у меня родилась гипотеза: «Все айтишники, так же как и я, читают новости и статьи на работе за чашкой чая-кофе в самом начале дня и где-то после обеда».

Чтобы проверить эту гипотезу (ну и не только для этого, конечно) в прошлом году написал и опубликовал монитор Хабра под названием Пульс Хабра. Так как гипотезы необходимо проверять, я занялся сбором данных и анализом закономерностей поведения Хабра-жителей.



Сегодня решил поделиться основными наблюдениями.

Структура статьи:

  1. Недельные пики активности и неактивности
  2. Сезонные эффекты — новогодние праздники
  3. Фундаментальные факторы, влияющие на поведение
  4. Падение количества читателей от разделения Хабра
  5. Опрос: когда вы читаете Хабр?
  6. Выводы
Читать дальше →
Total votes 64: ↑57 and ↓7 +50
Views31K
Comments 29

(Архив) Matreshka.js 1.1: еще больше крутостей

Matreshka.jsРазработка веб-сайтовJavaScript
Tutorial
image

Документация на русском
Github репозиторий

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

Матрешка — это JavaScript фреймворк (или, если хотите, библиотека), основанный на акцессорах, и выжавшая из них невероятные, на первый взгляд, возможности. Помните, время, когда в JavaScript геттеры и сеттеры только-только появились? Сколько шума было вокруг них… Статьи, разговоры… Затем, всё затихло: многие не понимали, как этими возможностями воспользоваться, кроме как в простых примерах. Матрешка — это прекрасный ответ на вопрос, зачем нужны акцессоры в JavaScript.



По традиции, напомню о том, что умеет этот фреймворк с помощью маленького кусочка кода.

Раньше можно было делать только так:

// this - экземпляр Матрешки
// связываем свойство "x" с элементом на стрнице
this.bindNode('x', 'input.my-node');
// если изменилось, выводим alert
this.on('change:x', function() {
    alert(this.x);
});
// меняем свойство, вызывается обработчик
// меняется и привязаннык к "x" элемент
this.x = 'Wow!';

Теперь можно еще и так:

var object = {};
// связываем свойство "x" с элементом на стрнице
MK.bindNode(object, 'x', 'input.my-node');
// если изменилось, выводим alert
MK.on(object, 'change:x', function() {
    alert(object.x);
});
// меняем свойство, вызывается обработчик
// меняется и привязаннык к "x" элемент
object.x = 'Wow!';

Из-за того, что последние версии Chrome и NodeJS стали, наконец, поддерживать большинство элементов синтаксиса ES6, все примеры ниже в этом посте будут написаны на ES6. Таким нехитрым способом я хочу поздравить всех, кто считает эти нововведения невероятно крутыми и привлечь внимание к ES.next тех, кто с ними еще не знаком.
Читать дальше →
Total votes 20: ↑15 and ↓5 +10
Views10.2K
Comments 27

Matreshka.js 2: события

Matreshka.jsРазработка веб-сайтовJavaScript
Tutorial

image


Документация на русском
Github репозиторий


Всем привет!


Функциональность событий в Matreshka.js стала настолько богатой, что она, без сомнения, заслужила отдельной статьи.


Эта статья на английском

Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Views7.7K
Comments 0

Консоль 21 века: mosh, tmux, fish

Настройка LinuxСистемное администрирование*nix
В своей работе мне приходится проводить чуть ли не все свое время в консоли, как в локальной, так и в удаленной. Нет, что вы, я не жалуюсь, даже наоборот — мне нравятся возможности автоматизации, которые предоставляют консольные инструменты, и работа в консоли вполне продуктивна.

Но если вы проводите за своим инструментом до 80% рабочего времени, то желательно убедиться, что вы не тратите время впустую и что работа доставляет вам удовольствие. В этой статье я бы хотел немного рассказать про те инструменты, которыми я лично пользуюсь каждый день, и про то, как они улучшают user experience (и, часто, продуктивность) при работе с консолью и с удаленными серверами в частности.

Проблемы ssh


При работе с удаленными серверами по ssh есть много вещей, которые могут фрустрировать, но основных проблем две, и первая из них принципиально неразрешима в рамках ssh:

  1. При высоком round-trip latency (>100 ms) пользовательский ввод появляется с ощутимой задержкой, а при использовании мобильного интернета с edge (latency 1000 ms) работа становится подобна пытке
  2. При временных проблемах (несколько минут) с доставкой пакетов, соединение может порваться с write failed: broken pipe, причем узнаете вы об этом только при попытке ввода или при использовании настроек вроде keepaliveinterval


Первая проблема неразрешима потому, что ssh by-design является просто транспортом для байтов, и существующие приложения на это поведение расчитывают. Поскольку ssh не пытается интерпретировать этот поток байтов, он не может осуществлять предиктивный ввод. Лично для меня именно эта проблема наиболее актуальна, поскольку мне приходится работать с серверами в европе и США, и во втором случае задержка составляет около 200 мс и является принципиально неустранимой, по крайней мере до изобретения квантовой коммуникации или чего-нибудь подобного. Вторая же проблема проявляется в наших условиях относительно редко, но всё же неприятно переустанавливать все соединения при сбоях сети (и перезапускать упавшие приложения, если они почему-то не были запущены в screen).

Читать дальше →
Total votes 97: ↑89 and ↓8 +81
Views85.9K
Comments 59

Онлайн-компиляция на статическом сайте, рецепт для начинающих

JavaScriptC++HTMLGitHub
Tutorial

Вы несколько лет писали свой проект и теперь хотите привлечь пользователей? У меня есть простой, как холостяцкая яичница с беконом, рецепт специально для вас.

Для приготовления простого сайта вам понадобится:
  • репозиторий на GitHub — 1 штука
  • готовый html шаблон, для придания приятного вида — 1 штука
  • кусочек свежего компилирущегося C++ кода — минимум 1 строка кода
  • готовые javascript соусы из магазина — ~500Kb
  • картинки и анимашки по вкусу

Меняйте любые компоненты, экспериментируйте и готовьте свои сайты для любимого языка!
Приступить
Total votes 25: ↑22 and ↓3 +19
Views23.6K
Comments 16