Рубрика «Веб» - 2

Сначала разберем, что такое XSS и его виды.

XSS — Cross-Site Scripting — Одна из множества уязвимостей веб приложений, которая позволяет внедрить вредоносный код, на страницу.

Есть 2 типа XSS:

  1. Пассивная — XSS, которая статично находится на странице
  2. Активная — XSS, которая динамично отображается на странице, при определенном запросе

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

Читать полностью »

Нет, это не очередной пост, говорящий вам, что вы хуже. Я здесь не для того, чтобы рассказать вам то, чего вы не знаете о веб-разработке.

Я здесь для того, чтобы спросить вас… Откуда вам знать то, чего вы не знаете о веб-разработке?

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

То же самое и с веб-разработкой: чем больше вы знаете, тем утомительней будет найти оставшиеся крупицы информации. Это и проблема.

Эту проблему стоит попытаться решить.

Читать полностью »

11 января 1982 года двадцать два специалиста по информатике встретились, чтобы обсудить «компьютерную почту» (ныне известную как "электронная почта"). Среди участников был будущий основатель Sun Microsystems, парень, который сделал Zork, чувак, создавший NTP, и еще один, который убедил правительство платить за Unix. Перед ними стояла задача решить проблему: в ARPANET было 455 хостов, и ситуация выходила из под контроля.

История URL'а: домен, протокол и порт - 1

Проблема возникла из-за того, что ARPANET переходил с оригинального протокола NCP на протокол TCP/IP, на котором сейчас существует Интернет. После такого перехода быстро должно было появиться множество объединенных сетей (inter...net), которым требуется иерархическая система доменов, чтобы ARPANET мог резолвить свои домены, а другие сети — свои.Читать полностью »

Хобби-проекты: chip-in.me — кто, кому и сколько - 1

Меня зовут Александр Кашеверов (@kashesandr), я занимаюсь веб-разработкой в DataArt с 2011 года. Люблю веб, игру «любоеслово точка JS», спонтанные вылазки с друзьями на природу. И с этими вылазками часто возникала одна и та же проблема: когда скидывались на еду для 14 – 15 человек, бывало сложно понять, кто и кому сколько денег потом должен…

Практикуясь в новой для себя технологии, я заодно написал небольшую утилиту, задача которой — упрощать жизнь в таких случаях. Так появился крохотный сайт chip-in.me. Все предельно просто: вписываем людей, их вклад в общую покупку (только с равным долями!), нажимаем кнопку и получаем результат — кто, кому и сколько должен отдать денег, с именами и суммами. Результатом можно поделиться с друзьями.

Хобби-проекты: chip-in.me — кто, кому и сколько - 2Хобби-проекты: chip-in.me — кто, кому и сколько - 3

Технические детали

Выбор был сделан в пользу Polymer. И вот почему:

  • Это Google. Т.е. скорее всего продукт качественный и будет продвигаться на рынке. Быть на волне — полезно.
  • Polymer — надстройка над веб-компонентами, значит, вероятно, это будет востребовано в ближайшем будущем, хорошо к тому моменту уже иметь опыт.
  • Продукт на тот момент обновился до стабильной версии 1.0.0 — можно смело пользоваться.

Читать полностью »

Важные аспекты работы браузера для разработчиков. Часть 1 - 1
Автор: Антон Реймер

Статья основана на вебинаре, который я проводил некоторое время назад. Рассчитана она, в первую очередь на тех, кто не знает, как работают браузеры, или тех, у кого есть пробелы в знаниях. Вероятно, здесь будет много очевидного для тех кто не первый день в веб-разработке. Статью я решил разделить на две части. В первой рассмотрим общие принципы работы браузера. Во второй части я акцентирую внимание на некоторых важных моментах: reflow и repaint, event loop.

Что такое браузер?

Браузер — программа, работающая в операционной системе. Большинство браузеров написано на языке C++. Основное предназначение браузера — воспроизводить контент с веб-ресурсов. В качестве веб-ресурса в большинстве случаев выступает html-страница. Это также может быть pdf-файл, png, jpeg, xml-файлы и другие типы. Среди огромного количества браузеров можно выделить самые популярные: Chrome, Safari, Firefox, Opera и Internet Explorer. Мы рассмотрим браузеры с открытым исходным кодом: Chrome, Firefox, Safari.

Из чего состоит и как работает браузер?

Важные аспекты работы браузера для разработчиков. Часть 1 - 2

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

Пользовательский интерфейс — то, что видит перед собой пользователь, т. е. адресная строка, элементы навигации, собственное меню и т. д. Несмотря на то что пользовательские интерфейсы очень похожи друг на друга, никакого стандарта, который их описывал бы, не существует. Так исторически сложилось, что браузеры постепенно перенимали интерфейс друг у друга и становились все более похожими.
Читать полностью »

image
Концепт дизайна и функционала нового браузера. Кликабельно

Компания Mozilla тихо, без лишнего шума, анонсировала в эту пятницу запуск нового проекта — Project Tofino в его собственном блоге на medium, который некоторые уже успели окрестить «убийцей Firefox».

Для подобного мнения есть все основания. Последние годы Firefox стремительно теряет свою долю на рынке, не выдерживая натиска Google Chrome. Project Tofino призван радикально изменить облик браузера от Mozilla и обновить его, тем самым положить начало «возвращению» утраченной доли рынка. Команда Tofino пока состоит всего из шести человек. Именно они и займутся проектированием и дизайном нового продукта компании.
Читать полностью »

imageСегодня у многих IT-компаний есть собственные bounty-программы (или программы по поиску уязвимостей). Badoo — в их числе.

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

Со времени старта нашей bounty-программы прошло три года. Нам до сих пор продолжают присылать сообщения участники со всего мира.

Мы хотим усилить интерес к ней, в том числе со стороны иностранных исследователей. Поэтому мы, во-первых, открыли страничку с нашей программой на крупнейшем портале исследователей hackerone.com, а во-вторых — увеличили суммы вознаграждений за найденные уязвимости! Теперь сумма вознаграждения, в зависимости от категории, начинается от £100 и может достигать £1000, сумма супер-премии составляет £2000 (а это более 200 000 рублей по текущему курсу!) и даже больше, если обнаруженная уязвимость представляет реальную угрозу для наших пользователей.

Читать полностью »

RESTful: Что это на самом деле значит - 1

Как оскорбить разработчика via Geek & Poke

Мы в 1cloud занимаемся построением облачного сервиса — наши пользователи могут заказывать у нас виртуальные серверы, и очень часто на них запускаются сайты. Мы уже рассказывали о том, как ускорить загрузку веб-страниц, а сегодня поднимем еще одну интересную тему — каким на самом деле должны быть веб-приложения, чтобы считаться RESTful? Интересный материал на эту тему в блоге образовательного сервиса Recurse Center написала Лорен Лонг (Lauren Long) — мы представляем вашему вниманию адаптированный перевод этой заметки.

Если вы занимаетесь веб-программированием, то наверняка слышали о REST. Многие, такие как я, зачастую делают вид, что знают о нем все, но теряются, когда им задают вопрос, являются ли написанные ими приложения RESTful. «Я использую с html, получается RESTful, правильно?». Настало время раз и навсегда выяснить, что означает этот приятный слуху модный термин.Читать полностью »

image

Введение

Никого уже не удивишь концепцией динамического HTML, почти все сайты давно в той или иной мере используют javascript для того, чтобы сделать страницы интерактивными. А с появлением технологии AJAX стало возможным асинхронно генерировать запросы к серверу, чтобы изменять старые данные на сервере или получать новые. Но как именно обновлять структуру страницы? Кто должен генерировать новый html — сервер или javascript? А может, все вместе?

Посмотрим, как можно ответить на эти вопросы.
Читать полностью »

Привет! Так уже получилось, что современный web-контент буквально стоит на трёх китах: HTML5, CSS3 и Javascript. Тесная интеграция этих трёх инструментов позволяет создавать поистине впечатляющие результаты, но сегодня речь не о достижениях современной веб-инсдустрии, а о том, как эти достижения правильно донести до пользователей.

За отображение вашего сайта у пользователей, само собой, отвечают браузеры. Но как видит сайт поисковая система? Что она увидит, если часть контента (картинки, таблицы стиля, скрипты) будуе закрыта от сканирования? Что увидят пользователи в результатах поиска, если Google не сможет проиндексировать весь необходимый контент? Специально для ответа на эти вопросы (а также для исправления некоторых недоразумений, мешающих вам находить своих пользователей в Google) мы создали инструмент «Отчёт о заблокированных ресурсах».

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

Вот так выглядит отчёт о проверке:
Заблокированные ресуры в Инструментах для веб-мастеров
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js