Pull to refresh
23
0

Пользователь

Send message

CSRF-уязвимости все еще актуальны

Reading time14 min
Views72K
CSRF (Сross Site Request Forgery) в переводе на русский — это подделка межсайтовых запросов. Михаил Егоров (0ang3el) в своем докладе на Highload++ 2017 рассказал о CSRF-уязвимостях, о том, какие обычно используются механизмы защиты, а также как их все равно можно обойти. А в конце вывел ряд советов о том, как правильно защищаться от CSRF-атак. Под катом расшифровка этого выступления.


О спикере: Михаил Егоров работает в компании Ingram Micro Cloud и занимается Application security. В свободное время Михаил занимается поиском уязвимостей и Bug hunting и выступает на security-конференциях

Дисклаймер: приведенная информация является сугубо мнением автора, все совпадения случайны.


В том, что CSRF-атаки работают виноват этот Cookie-монстр. Дело в том, что многие веб-приложения используют куки (здесь и далее считаем уместным называть cookies по-русски) для управления сессией пользователя. Браузер устроен так, что, если у него есть куки пользователя для данного домена и пути, он их автоматически отправляет вместе с HTTP-запросом.
Total votes 54: ↑54 and ↓0+54
Comments20

Синонимы, которые сбивают с толку новичков: say, tell, speak, talk

Reading time4 min
Views23K
Английский язык, как и русский, богат на многозначные слова. А еще довольно часто бывает так, что в русском мы используем одно многозначное слово, а в английском для каждого значения отводится отдельное слово. Со временем студенты, конечно, запоминают разницу. Если же вы только начали изучать язык, то специально для вас мы подготовили серию статей о синонимах, в использовании которых новички ошибаются чаще всего. Давайте вместе разберемся, чем же эти слова друг от друга отличаются и как употреблять их в речи правильно.

image
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments20

Удивительно полезный инструмент: lsof

Reading time9 min
Views125K
Я привык искать проблемы в коде или в системе, пользуясь логами или показателями мониторинга, которые выводятся на симпатичных панелях управления с простым и понятным интерфейсом. Однако, если по какой-то причине данные на панель управления не поступают, или логи какой-нибудь службы недоступны, отладка усложняется. Теперь подобных проблем немного, встречаются они редко, но они, всё же, случаются. Поэтому и в наше время весьма ценно знание инструментов, которые помогают понять, что не так с неким процессом на каком-нибудь компьютере.

image
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments30

Работа для программиста в США: 5 простых шагов

Reading time5 min
Views291K
image Статья про то, что делать тем, кто хочет переехать работать в США. Я предполагаю инженерные позиции, на которые проще всего получить визы, но, возможно, статья окажется полезна и другим специалистам.

Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.

Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
Читать дальше →
Total votes 166: ↑152 and ↓14+138
Comments138

WebRTC: Делаем peer to peer игру на javascript

Reading time13 min
Views38K
Недавно мне довелось поработать над прототипом видеочата. Это был отличный повод поближе познакомиться с концепциями WebRTC и опробовать их на практике. Как правило, когда говорят про WebRTC, подразумевают организацию аудио- и видеосвязи, но эта технология может применяться и для других интересных вещей. Я решил попробовать сделать peer-to-peer игру и поделиться опытом ее создания. Видео того что получилось и подробности реализации под катом.


Читать дальше →
Total votes 94: ↑92 and ↓2+90
Comments52

Логика сознания. Часть 1. Волны в клеточном автомате

Reading time7 min
Views67K
Начнем разговор о мозге с несколько отвлеченной темы. Поговорим о клеточных автоматах. Клеточный автомат – это дискретная модель, которая описывает регулярную решетку ячеек, возможные состояния ячеек и правила изменений этих состояний. Каждая из ячеек может принимать конечное множество состояний, например, 0 и 1. Для каждой из ячеек определяется окрестность, задающая ее соседей. Состояние соседей и собственное состояние ячейки определяют ее следующее состояние.
Наиболее известный клеточный автомат – это игра «Жизнь». Поле в игре «Жизнь» состоит из ячеек. Каждая ячейка имеет восемь соседей. Задается начальная комбинация. Затем начинается смена поколений. Если у занятой ячейки два или три занятых (живых) соседа, то ячейка продолжает жить. Если соседей меньше 2 или больше 3, то ячейка умирает. Когда у пустой ячейки оказывается ровно 3 соседа в ней зарождается жизнь. Задав произвольную начальную комбинацию можно пронаблюдать ее эволюцию.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments65

Homo ex machina: перспективы перемещения сознания на другой носитель

Reading time18 min
Views36K


Привет, Geektimes! Сегодня у нас очередной пост по лекции уже полюбившегося вам автора. Сергей oulenspiegel Марков — создатель одной из сильнейших российских шахматных программ, специалист по методам машинного обучения и основатель портала 22century.ru — расскажет о перспективах переноса человеческой личности на другие физические носители. Новый домик для разума: велика ли дистанция между мозгом и современными машинами, каковы успехи в создании аналогов нервной ткани? Насколько далёкий путь проделала наука от первых перцептронов до перспективных нейроморфических процессоров? Что мы сегодня знаем о том, как работает мозг, и что заставляет нас полагать, будто перенести сознание в принципе возможно? Что такое инвазивные и неинвазивные нейроинтерфейсы? Каков прогресс науки в их создании за последние десятилетия и что мы сможем делать в этой области в недалёком будущем? Репликация и концепция постнеокортекса: как нейропластичность поможет нам обойти парадоксы самосознания? Человек своими руками: как происходит переход от непрямой к прямой инженерии в развитии нашего вида? За границы бионики: возможно ли сознание, построенное на принципиально иной платформе? Обо всём этом читайте под катом.
Total votes 50: ↑45 and ↓5+40
Comments163

Опыт создания кроссплатформенной игры (iOS/Android)

Reading time6 min
Views84K

  Данный пост будет полезен разработчикам, которые только встали на радужный путь геймдева. В нашем недавнем посте уже было рассказано о первоначальных шагах нашей dream team в сфере игройстроя. Как и обещали, работаем в этом направлении дальше и решили попробовать себя в другом жанре игр. Далее будут кратко освещены некоторые моменты создания и публикации игры на двух платформах iOS и android.

Дать посту шанс...
Total votes 65: ↑60 and ↓5+55
Comments17

Про котиков, собак, машинное обучение и deep learning

Reading time15 min
Views83K
image
«В 1997 году Deep Blue обыграл в шахматы Каспарова.
В 2011 Watson обставил чемпионов Jeopardy.
Сможет ли ваш алгоритм в 2013 году отличить Бобика от Пушистика?»


Эта картинка и предисловие — из челленджа на Kaggle, который проходил осенью прошлого года. Забегая вперед, на последний вопрос вполне можно ответить «да» — десятка лидеров справилась с заданием на 98.8%, что на удивление впечатляет.

И все-таки — откуда вообще берется такая постановка вопроса? Почему задачи на классификацию, которые легко решает четырехлетний ребенок, долгое время были (и до сих пор остаются) не по зубам программам? Почему распознавать предметы окружающего мира сложнее, чем играть в шахматы? Что такое deep learning и почему в публикациях о нем с пугающим постоянством фигурируют котики? Давайте поговорим об этом.
По заветам издателей Стивена Хокинга - без формул
Total votes 101: ↑98 and ↓3+95
Comments49

node.js для Java-разработчиков: первые шаги

Reading time9 min
Views94K


У опытного программиста, сталкивающегося с новой технологией для решения конкретной прикладной задачи, сразу возникает множество практических вопросов. Как правильно установить платформу? Где и что будет лежать после установки? Как создать каркас проекта, как он будет структурирован? Как разбивать код на модули? Как добавить библиотеку в проект? Где вообще взять готовую библиотеку, которая делает то, что нужно? Как и в чём отлаживать код? Как написать модульный тест?

Ответы на эти вопросы можно при желании легко найти в сети, но придётся перечитать дюжину статей, и на каждый вопрос ответов будет, скорее всего, несколько. Некоторое время назад мне понадобилось написать небольшой туториал по node.js, который бы позволил быстро запустить разработку и познакомить новых программистов в проекте с этой технологией. Рассчитан он на опытных Java-разработчиков, которые и язык JavaScript хорошо знают, но node.js как платформа для бэкэнда для них в новинку.

Думаю, что данная статья будет полезна не только разработчикам из мира Java, но и всем, кто начинает работу с платформой node.js.


Читать дальше →
Total votes 39: ↑26 and ↓13+13
Comments107

Игры для NES/Famicom/Денди глазами программиста

Reading time5 min
Views119K
Это пост про ограничения старых видеоигр. Сам я под NES никогда не программировал, но с архитектурой поверхностно познакомился. Теперь я не могу играть в игры для NES, не задумываясь, как же они устроены. Иногда это на столько вызывает восхищение, что невольно забываешь про саму игру. «Чему же там восхищаться?», — скажете вы. Да просто укладываться во все ограничения NES, но при этом делать игру красивой, — это действительно целое искусство.

Сейчас я постараюсь рассказать об этом вам, максимально всё упростив.
Читать дальше →
Total votes 236: ↑236 and ↓0+236
Comments81

Часы на кривых Безье

Reading time1 min
Views67K


Bézier Clock — часы на кривых Безье, где цифры плавно перетекают из одной формы в другую. Автор говорит, что это его первый проект на Processing.js, исходный код опубликован. Можно отредактировать его и изменить, например, скорость анимации.

При выключенной анимации цифры трансформируются за 5 секунд до смены значения, а при включенной (пробелом) — в течение всего времени. Например, в 12:30:35 цифра «2» будет уже на полпути к превращению в «3». Направляющие скрываются кликом мыши.
Total votes 138: ↑115 and ↓23+92
Comments53

Продолжаем разбирать Caesar III© (Игровая механика)

Reading time15 min
Views96K
Алгоритмы получения текстур игры Caesar III© и отрисовки города разобраны, осталась самая «сладкая» часть, которая притягивает «древнеримских архитекторов» уже больше 15 лет — игровая логика. Используя различные подходы к анализу игры, выношу на ваш суд результат этого небольшого исследования. Я заранее прошу прощения за большую статью, но, как говорится, слов из песни не выкинешь. В заключении будет несколько слов о судьбе исходников, восстановленных из исполняемого файла оригинальной игры.


Все гениальное просто
Total votes 114: ↑113 and ↓1+112
Comments26

Применение утилиты PerfView в службе поддержки пользователей

Reading time6 min
Views21K

Один из этапов обработки заявки от пользователя в нашей службе поддержки — воспроизведение проблемы. Сложности с воспроизведением возникают по разным причинам: пользователь не всегда может предоставить пример приложения, на котором проявляется некорректное поведение кода, или проблема может быть специфична для конкретного окружения. Сегодня используется огромное количество программных, аппаратных конфигураций и виртуальных сред, в которых работают программы, написанные с нашими компонентами. Ширина экрана в пикселах может различаться в пять раз (от 800 до 4к). А еще конфигурации могут отличаться другими параметрами: объемом памяти, количеством дисплеев, DPI, настройками безопасности, видеокартой и ее драйверами. Это разнообразие обеспечивает стабильный поток заявок от клиентов, специфичных для какой-то конфигурации. Например, проблема воспроизводится только на определенной версии Windows или только на определенных установках DPI или если у пользователя три монитора. Для решения этой проблемы уже несколько лет наша служба поддержки использует утилиту Microsoft PerfView. Если все остальные способы воспроизвести проблему исчерпаны, мы отдаем пользователю простую инструкцию, как запустить трассировку и прислать нам результирующий файл. Трассировочная информация помогает понять, что именно вызывает проблему.

В этой статье будут рассмотрены возможности применения PerfView в службе технической поддержки и ограничения этой утилиты.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments6

Information

Rating
Does not participate
Registered
Activity