Pull to refresh
43
0
Send message

Дыра в безопасности яндекс инвестиций

Reading time 4 min
Views 34K

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

Читать далее
Total votes 23: ↑19 and ↓4 +15
Comments 19

Запись и чтение данных в блокчейне биткоина

Reading time 4 min
Views 9.4K
Записать в блокчейн биткоина можно не только финансовые операции, но и практически любые данные. Записанные в блокчейн биткоина данные становятся общедоступными и их практически невозможно удалить или изменить. Эту особенность можно использовать например для создания децентрализованных сайтов, которые не поддаются никакой блокировке.

С помощью библиотеки blockchaindata-lib запись и чтение данных в блокчейне можно организовать буквально в несколько строк кода.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 13

Сделайте свой анонимайзер за 10 минут

Reading time 4 min
Views 64K
В этой статье я сначала расскажу историю не очень долгой жизни одного анонимайзера, а потом научу — как сделать анонимайзер из исходных кодов, даже не обладая особыми навыками программирования или администрирования. Выложить свой исходный код в открытый доступ было решено после того, как мой анонимайзер попал в список Роскомнадзора и был заблокирован… Но обо всем по порядку.
Читать дальше →
Total votes 63: ↑53 and ↓10 +43
Comments 150

Пример простейшего cgi сервера

Reading time 7 min
Views 40K
Думаю многие знают, как работает CGI взаимодействие между клиентом и сервером: клиент получает от сервера и отдает серверу данные через стандартные stdin и stdout. Многие наверное даже сами писали CGI клиентов, ведь по сути — любой скрипт для веб-сервера это и есть CGI-клиент.
А многие ли задавались вопросом, как именно происходит эта «магия»? Каким образом стандартные функции для ввода/вывода вместо экрана взаимодействуют с сервером?

Результаты поиска ответа в сети меня не удовлетворили и я решил сам написать простейший CGI сервер, который сможет:
  • Запускать дочерний процес — CGI скрипт
  • Передавать скрипту переменные окружения и переменные командной строки
  • Принимать от скрипта ответ
  • Завершаться, когда завершится процесс клиента

Кроме этого, мне хотелось, чтобы клиент и сервер компилировались как в Windows, так и в Linux.
Подробности
Total votes 23: ↑16 and ↓7 +9
Comments 2

Самый короткий веб-сервер на с++

Reading time 5 min
Views 61K
В предыдущей статье я рассказал, как написать простой сервер для передачи одного файла по протоколам http и https. Прошло немного времени и я решил сделать из этого кода универсальную библиотеку для быстрого создания серверов.

Полный код библиотеки можно посмотреть на гитхабе, а если в двух словах, то я добавил немного «египетских скобок», новомодных лямбда-функций и шаблонов. На сегодняшний день результатом стала кроссплатформенная библиотека для создания асинхронных серверов, состоящая из 5 файлов с общим размером 22.5 килобайт. Версия библиотеки для Линукс состоит из одного файла размером 18 килобайт (517 строк кода).

В этой статье я коротко расскажу, как работает библиотека и покажу, как с ее помощью написать полностью работоспособный веб-сервер для статических сайтов.
Читать дальше →
Total votes 57: ↑36 and ↓21 +15
Comments 98

Bitcoin: Децентрализованная электронная денежная система

Reading time 12 min
Views 45K
Предлагаю вниманию сообщества вольный перевод оригинальной статьи Сатоси Накамото «Bitcoin: A Peer-to-Peer Electronic Cash System».

От переводчика:
Я не являюсь профессиональным переводчиком и плохо разбираюсь в криптографии, но вот недавно заинтересовался технологией Биткоин и захотел начать изучение с первооснов. Беглый поиск по интернету не дал мне перевода основополагающей статьи Сатоси Накамото и я решил попробовать перевести ее сам.
Вскоре после того как перевод был начат я понял, что английский язык, скорее всего, не является родным для автора статьи поскольку иногда было крайне трудно понять — что автор подразумевает и зачем в одном предложении так много частиц «and». Однако большинство трудностей удалось преодолеть и я решил представить сей конечный продукт публике.

Читать дальше →
Total votes 103: ↑73 and ↓30 +43
Comments 13

Кроссплатформенный сервер с неблокирующими сокетами. Часть 4

Reading time 8 min
Views 20K
Эта статья продолжает мои предыдущие:
Простейший кросcплатформенный сервер с поддержкой ssl
Кроссплатформенный https сервер с неблокирующими сокетами
Кроссплатформенный https сервер с неблокирующими сокетами. Часть 2
Кроссплатформенный https сервер с неблокирующими сокетами. Часть 3

В своих статьях я поэтапно расписываю процесс создания однопоточного кроссплатформенного сервера на неблокирующих сокетах.
Во всех предыдущих статьях, сервер принимал и отправлял сообщения только по ssl протоколу. В этой статье я опишу добавление в сервер поддержки обычного нешифрованного tcp протокола и научу сервер отправлять в браузер графический файл.
Но сначала немного пройдусь по комментариям к предыдущим статьям.
Читать дальше →
Total votes 14: ↑10 and ↓4 +6
Comments 2

Кроссплатформенный https сервер с неблокирующими сокетами. Часть 3

Reading time 6 min
Views 9.9K
В этой статье я продолжаю усовершенствовать однопоточный https сервер на неблокирующих сокетах. Предыдущие статьи с ссылками на исходный код, можно найти здесь:
Простейший кросcплатформенный сервер с поддержкой ssl
Кроссплатформенный https сервер с неблокирующими сокетами
Кроссплатформенный https сервер с неблокирующими сокетами. Часть 2

В конце этой статьи будет ссылка на исходный код сервера, который я протестировал в Visual Studio 2012 (Windows 8 64bit), g++4.4 (Linux 32bit), g++4.6 (Linux 64bit). Сервер принимает соединения от любого количества клиентов и отправляет в ответ заголовки запроса.
Но начну я статью пожалуй, с ответов на некоторые комментарии к предыдущим.
Читать дальше →
Total votes 24: ↑15 and ↓9 +6
Comments 11

Кроссплатформенный https сервер с неблокирующими сокетами. Часть 2

Reading time 10 min
Views 11K
Эта статья является продолжением статей:
Простейший кросcплатформенный сервер с поддержкой ssl
Кроссплатформенный https сервер с неблокирующими сокетами
В этих статьях я постепенно из простенького примера, входящего в состав OpenSSL стараюсь сделать полноценный однопоточный веб-сервер.
В предыдущей статье я «научил» сервер принимать соединение от одного клиента и отсылать обратно html страницу с заголовками запроса.
Сегодня я исправлю код сервера так, чтобы он мог обрабатывать соединения от произвольного количества клиентов в одном потоке.
Читать дальше →
Total votes 26: ↑11 and ↓15 -4
Comments 26

Кроссплатформенный https сервер с неблокирующими сокетами

Reading time 5 min
Views 18K
Эта статья является продолжением моей статьи Простейший кросcплатформенный сервер с поддержкой ssl.
Поэтому для того, чтобы читать дальше очень желательно прочитать хотя бы часть предыдущей статьи. Но если не хочется, то вот краткое содержание: я взял из исходников OpenSSL файл-пример «serv.cpp» и сделал из него простейший кроссплатформенный сервер, который умеет принимать от клиента один символ.
Теперь я хочу пойти дальше и заставить сервер:
1. Принять от браузера весь http заголовок.
2. Отправить браузеру html страницу на которую будет выведен http заголовок.
3. Кроме этого, я хочу чтобы сокеты не блокировали процесс сервера и для этого я переведу их в так называемый «неблокирующий режим».
Читать дальше →
Total votes 26: ↑11 and ↓15 -4
Comments 40

Простейший кросcплатформенный сервер с поддержкой ssl

Reading time 5 min
Views 29K
Не так давно передо мной встала задача: написать кроссплатформенный сервер для обработки запросов по протоколу ssl. До этого я писал сервера для обычных, не шифрованных протоколов, но с ssl столкнулся впервые.
Беглый обзор интернета показал, что лучшим решением будет не велосипедостроение, а использование библиотеки OpenSSL.
В этой статье я не хочу рассматривать процесс установки OpenSSL на Linux и Windows, замечу лишь, что для Windows процесс этот оказался нетривиальным. А рассказать я хочу о том, как мне удалось скомпилировать в Visual Studio пример простейшего сервера, входящий в состав исходников OpenSSL.
Неискушенному читателю может показаться: «что тут особенного — создал проект, включил в него готовый исходник, запустил»… Однако обо всем по порядку.

Читать дальше →
Total votes 25: ↑18 and ↓7 +11
Comments 10

Information

Rating
Does not participate
Location
Россия
Registered
Activity