Межсайтовый скриптинг (XSS) — пожалуй, самый типичный вид уязвимостей, широко распространённых в веб-приложениях. По статистике, около 65 % сайтов в той или иной форме уязвимы для XSS-атак. Эти данные должны пугать вас так же, как пугают меня.
В мире каждый день публикуются десятки CVE (по данным компании riskbasedsecurity.com за 2017 год было опубликовано 20832 CVE). Однако производители стали с большим пониманием и вниманием относиться к security-репортам, благодаря чему скорость закрытия багов существенно увеличилась (по нашим ощущениям).
Нам стало интересно посмотреть на несколько продуктов и понять, из-за чего же возникли уязвимости (учимся на чужих ошибках). А также как производители их исправляют и всегда ли это у них получается (забегая вперед – не всегда).
Привет Хабр! В прошлой статье я упоминал, что в среде детских кружков технического творчества достаточно сложно найти наборы для комплексного изучения детьми всевозможных дисциплин. Сегодня я расскажу вам о том, как мы придумывали детские наборы робототехники и запускали проект на Boomstarter.
Spot-инстансы — это по сути продажа свободных в данный момент ресурсов со отличной скидкой. При этом инстанс могут в любой момент выключить и забрать обратно. В статье я расскажу о особенностях и практике работы с этим предложением от AWS.
Во многих организациях структура сети предполагает использование терминальных серверов, персональных компьютеров, а также мобильных устройств. В данной публикации пойдет речь о том, как все это пустить через прокси сервер Squid, не прописывая лишний раз настройки браузера на каждом устройстве. Статей по настройке Squid есть много, но везде понемногу. Я решил собрать всё в кучу, и описать рабочую конфигурацию от начала и до конца.
Когда делаешь на Unity игры для мобильных платформ, рано или поздно придется писать часть функционала на нативном языке платформы, будь то iOS (Objective C или Swift) или Android (Java, Kotlin). Это может быть свой код или интеграция сторонней библиотеки, сама установка может заключаться в копировании файлов или распаковки unitypackage, не суть. Итог этой интеграции всегда один: добавляются библиотеки с нативным кодом (.jar, .aar, .framework, .a, .mm), скрипты на C# (для фасада к нативному коду) и Game Object со специфичным MonoBehavior для отлавливания событий движка и взаимодействия со сценой. А еще часто требуется включать библиотеки зависимостей, которые нужны для работы нативной части.
Весь этот механизм интеграции обычно не вызывает проблем на чистом проекте, в котором еще нет (или мало) интеграций таких сторонних библиотек. Но когда проект разрастается, всплывает много проблем, усложняющих этот процесс, а часто дающих необходимость дополнительных модификаций и адаптирования под проект плагина, что потом выливается в увеличении сложности последующей поддержки и обновления. Читать дальше ->
Автор материала, перевод которого мы публикуем сегодня, говорит, что ему очень и очень часто приходилось видеть, как веб-разработчики бездумно пользуются современными фреймворками вроде React, Angular или Vue.js. Эти фреймворки предлагают много интересного, но, как правило, программисты, применяя их, не учитывают главнейшей причины их существования. Обычно на вопрос: «Почему вы используете фреймворк X», можно услышать следующие ответы, среди которых, однако, нет самого главного:
Этот фреймворк основан на компонентах.
У него имеется мощное сообщество.
Для него разработано множество сторонних библиотек, которые помогают решать различные задачи.
Существуют полезные дополнительные компоненты для этого фреймворка.
Имеются расширения для браузеров, которые помогают отлаживать приложения, созданные с помощью данного фреймворка.
Этот фреймворк хорошо подходит для создания одностраничных приложений.
На самом же деле самая главная, фундаментальная причина использования фреймворков заключается в том, что они помогают решать задачу синхронизации пользовательского интерфейса и внутреннего состояния приложения. Это — чрезвычайно сложная и важная задача, и именно о ней мы сегодня и поговорим. Читать дальше ->
В статье рассмотрен режим работы Vivado, позволяющий вносить изменения в проект на уровне редактирования списка соединений (в дальнейшем – нетлиста). Описаны как сам режим ECO, так и некоторые нюансы, которые появляются во время работы в нём. Приведён демонстрационный пример и описана полная последовательность действий для получения результата, в работоспособности которой может убедиться каждый желающий. Статья будет полезна для «общего развития» FPGA-разработчикам, а особенно — тем, кто часто отлаживает проекты в Logic Analyzer. Надеюсь, работа в этом режиме вызовет интерес у разработчиков, работающих с большими кристаллами, время компиляции в которых может достигать часов (а то и десятков часов), поскольку в этом режиме время, затрачиваемое на имплементацию, при внесении изменений в нетлист может сократиться до буквально пары минут.
Утром 10 апреля на встрече во ФРИИ формата Founders talk мы поговорим о том, как основные принципы управления проектного бизнеса могут сгубить продуктовый, а основатели IT-компаний расскажут, с какими трудностями столкнулись при переходе из одной модели бизнеса в другую.
TargetSummit — международная конференция по мобильному маркетингу, которая проходит в Москве и Берлине. Впервые за всю нашу историю мы делаем двух дневную конференцию 11 и 12 апреля 2018 года, более 700 экспертов со всего мира соберутся в конгресс центре Технополис для обмена опытом и продуктивных встреч.
Сегодня, в переводе одиннадцатой части серии материалов, посвящённых JavaScript, мы поговорим о подсистемах браузера, ответственных за рендеринг веб-страниц. Они играют ключевую роль в деле преобразования описаний документов, выполненных с помощью HTML и CSS, в то, что мы видим на экране.
Автор материала говорит, что в компании SessionStack приходится уделять рендерингу огромное внимание. В этой статье он поделится советами, касающимися оптимизации веб-страниц с учётом особенностей их визуализации. Читать дальше ->
Где учиться начинающим тестировщикам более-менее понятно всем: существует много статей, курсов, книг и мануалов. А вот что делать тем, кто вырос из джуна в мидла — непонятно. В преддверии конференции DUMP, мы решили спросить известных тестировщиков, что они посоветуют джуниорам, которые хотят расти. Первым на наши вопросы ответил «дедушка русского тестирования» Александр Александров — тест-менеджер в компании Luxoft, кандидат физико-математических наук, эксперт RSTQB.
Согласно исследованию кадрового агентства “Анкор”, IT-отрасль является пиковой с точки зрения мобильности персонала. Определяющую роль в выборе специалистом локации играет наличие интересных проектов и перспектив, а также стремление повысить уровень жизни. Мы пообщались с Никитой Даниэльсом, организатором конференции Cyprus IT Forum – мероприятия, которое пройдет 24-25 апреля в г. Лимасол, чтобы узнать какие возможности развития дает рынок Кипра профессионалам IT-индустрии. Читать дальше ->
Системы частиц похожи на соль: даже небольшое количество может добавить готовящемуся «блюду» стиля. Современные игры, в которых не используются системы частиц, выглядят довольно бледно.
В прошлом нам приходилось каждую струйку дыма программировать самостоятельно. К счастью, благодаря встроенной модульной системе частиц Unity Shuriken делает создание частиц достаточно простой задачей. Эта система частиц проста в изучении и позволяет создавать сложные эффекты.
В этом туториале вы научитесь следующему:
Как добавлять в Unity новые системы частиц.
Узнаете, какие модули систем частиц используются чаще всего, и научитесь ими пользоваться.
Этот туториал состоит из двух основных частей: в первой мы создадим пламя факела, во второй — эффект взрыва бомбы. Читать дальше ->
Многие стартапы, да и уже состоявшиеся компании, тратят на рекламу средства, сопоставимые с разработкой своего продукта. Существует множество инструментов и методик оценивания эффективности рекламы. Но, как ни странно, до недавнего времени не существовало удобного способа контролировать ее работоспособность. В этой публикации речь идет о том, как настроить автоматическую остановку и перезапуск рекламной кампании с помощью сервиса мониторинга сайтов ХостТрекер.
Здравствуйте, меня зовут Алексей, я главный IT-архитектор банка «Ренессанс Кредит». Лет десять назад мы, как и многие компании, ускорили свое развитие благодаря сервис-ориентированной архитектуре (SOA). Но со временем требования к архитектуре менялись, и к данной парадигме стали возникать серьезные вопросы. В конце концов мы решили перейти от интеграционной шины ESB к микросервисам. На нашем примере я расскажу, почему стоит задуматься об эффективности SOA и что можно предпринять, если эта модель вас тоже не устраивает.
Генераторы классные. Они облегчают написание итераторов, определяя функции вместо создания целых классов, реализующих Iterator. Также генераторы помогают создавать ленивые списки (lazy list) и бесконечные потоки. Главное отличие функции-генератора от обычной функции в том, что обычная может возвращать только один раз (после этого её исполнение прекращается), а функция-генератор в ходе исполнения способна выдавать несколько значений. При этом в перерывах между возвратами исполнение генератора ставится на паузу до следующего запуска. Поэтому генераторы могут использоваться для создания списков с лениво генерируемыми значениями, то есть каждый элемент в списке вычисляется только в момент востребованности.
Язык программирования PHP берёт своё начало в 1995 году и является продуктом эпохи зарождения современных веб стандартов, таких как http (версия 1.0 — 1996), html (версия 2.0 — 1995), javascript (1995 год), url (1990 — 1994 года). Первоначально аббревиатура php имела расшифровку Personal Home Page Tools, далее трансформировавшись в Hypertext Preprocessor или «препроцессор гипертекста». Об использовании PHP в качестве препроцессора и будет посвящено несколько следующих абзацев. Читать дальше ->
Компания Panda Security выпускает новую облачную консоль Aether для централизованного управления информационной безопасностью предприятий. Реализованные изменения дают существенные преимущества в управлении и оперативном реагировании на критические инциденты, особенно для средних и крупных предприятий. Давайте рассмотрим их. Читать дальше ->
В эфире продолжение нашей пятничной рубрики про сбои, отказы и прочие факапы. Если пропустили наши предыдущие рассказы, то вот ссылки: один, два, три. А сегодня мы расскажем про неприятности с RAID в одном «маленьком, но гордом» ЦОДе. Читать дальше ->
Похоже, астрологи объявили неделю PHP митапов в апреле. :)
7 апреля мы проведем первый Badoo PHP Meetup в московском офисе компании!
Мы безнадежно влюблены в PHP, уже много лет способствуем его развитию и приглашаем всех интересующихся пообщаться и провести субботу с пользой в приятной обстановке. В программе четыре доклада и дискуссии за чашкой кофе, а в продолжение — afterparty. Для тех, кто не в Москве, будет трансляция, а также опубликуем записи выступлений.
Адрес: Цветной бульвар, 2 (м.Трубная) Начало докладов в 12:00 Регистрация здесь
Трансляция будет на нашем YouTube-канале и в группах VK и FB. Записи опубликуем там же и на Хабре.