Pull to refresh
6
0
Иван GiB$ON @gibson_dev

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

Send message

Защита идентификатора сессий в PHP

Reading time3 min
Views51K
Безопасность веб-сайтов основывается на управлении сессиями. Когда пользователь подключается к безопасному сайту, он предоставляет учетные данные, как правило, в форме имени пользователя и пароля. Веб-сервер не имеет представления о том, какой пользователь уже вошел в систему и как он переходит от страницы к странице. Механизм сессий позволяет пользователям не вводить пароль каждый раз, когда они хотят выполнить новое действие или перейти к новой странице.

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

После аутентификации пользователя, веб-сервер предоставляет ему идентификатор сессии. Этот идентификатор хранится в браузере и подставляется всякий раз, когда нужна проверка подлинности. Это позволяет избежать повторяющихся процессов ввода логина/пароля. Все это происходит в фоновом режиме и не доставляет дискомфорта пользователю. Представьте, если бы вы вводили имя и пароль каждый раз, когда просматривали новую страницу!

В данной статье я постараюсь изложить все известные мне способы защиты идентификатора сессии в PHP.

Итак, поехали.
Читать дальше →

Подбор паролей к WPA/WPA2 с использованием видеокарты

Reading time6 min
Views204K
Привет, Хабр!
Сегодня я расскажу и покажу вам, как можно использовать всю мощность ваших видеокарт для игр перебора паролей к Wi-Fi. Как-то не комильфо в наше время использовать только процессорные мощности под эти задачи (в частности aircrack-ng), когда в 80% компьютеров есть видеокарта. Поэтому разумно использовать всю потенциальную мощность ваших систем. А именно, речь пойдет о замечательной программе pyrit.
Читать дальше →

2d на Unity3d

Reading time14 min
Views220K
В свое время, в начале разработки двухмерной игры на Unity3d, мне пришлось перерыть кучу документации, сайтов, проштудировать answers.unity3d.com и forum.unity3d.com на тему: как сделать 2d-игру на этом 3d-движке. Самыми первыми вопросами были: как правильно настроить камеру, как сделать 2d-спрайт так, чтобы он отображал текстуру «пиксель в пиксель». На то время уже существовал SpriteManager (далее – SM) и даже SM2 с его мощной поддержкой редактора. Судьба сложилась так, что я не мог его тогда купить, да и пробной версии не было. В итоге, мне пришлось самому написать несколько полезных скриптов для реализации 2d на Unity3d. О том, как это сделать, пойдет речь в этой статье.

"
Читать дальше →

Обзор свободно доступных и бесплатных IP АТС (Asterisk, FreeSWITCH, SipXecs, Yate)

Reading time15 min
Views201K

Обзор свободно доступных и бесплатных IP АТС: Asterisk, FreeSWITCH, SipXecs, Yate. Приводятся преимущества и недостатки, сравнительный анализ функциональности и сфер применения. Делается вывод о том, что все продукты можно сочетать друг с другом.



Некоторое время назад ко мне обратился товарищ из «Открытых Систем» и попросил сделать обзор открытых IP АТС. Так как он обратился не только ко мне, а еще и к другим экспертам IP телефонии, то в результате в журнал попала компиляция, в которой мало осталось от моего оригинального обзора. Публикую его целиком на Хабре.

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

Поехали!

Теория

PBX (Private Branch Exhange) — английский термин, обозначающий офисную телефонную станцию, которая обеспечивает установление, поддержание и разрыв соединений между аппаратами, то есть коммутацию. PBX позволяет разделять ограниченные ресурсы (городские линии и номера) между неограниченным числом внутренних пользователей, при помощи таких телефонных функций, как внутренний номерной план, перевод звонков, постановка на удержание, и других.

Именно поэтому PBX система необходима любой организации — она позволяет эффективно организовать телефонную связь на предприятии (ну, пока еще нужна ;-)

Читать дальше →

jQuery.waterfall. Небольшая полезняшка

Reading time2 min
Views7.2K
В текущем проекте возникла необходимость выполнить последовательную серию ajax запросов и, по завершении — что-то сделать со всеми их результатами.
Довольно типовая задача, паттерн ее решения обычно называют waterfall (водопад). Реализации этого паттерна есть для node.js, хотя некоторые работают и в браузере — async.
Но включать целый модуль ради одного метода не хотелось. Copy/paste тоже не стал делать, но по соображениям скорее эстетическим. В async в метод передается функция обратного вызова, у нас же везде используется jQuery.Deferred. Разницы, конечно, никакой, но «ломать» стиль проекта мое «чувство прекрасного» мне не позволило :)
В результате написал небольшую утилитку по аналогии с jQuery.when

и хочу поделиться ей с сообществом

Lightcycle demo using WebGL (part 0)

Reading time17 min
Views4.3K

Вступление


Мне нравится осваивать новые технологии, делая то, чем раньше вообще не занимался. А еще мне нравится TRON. Оба фильма, кстати. Помню, еще до того, как я их посмотрел, в студенческие дремучие времена, я играл в Armagetron и фанател от гонок на светоциклах. После просмотра TRON: Legacy мне внезапно захотелось сделать свой Tron с гридом и изоморфами. Недолго думая, я запустил любимую Visual Studio Express и задумался — а чем это мое творение будет отличаться от свалки клонов «Трона»? Студия плавно закрылась, а мой энтузиазм несколько поутих. Ровно до того момента, как мне на глаза попалась какая-то статья о WebGL. Глаза снова загорелись, а руки сами потянулись к редактору. В голову как-то не приходила мысль, что последний раз я на JavaScript делал обработчик нажатия кнопки на зачет по какому-то предмету.

Итак, сегодня в программе:
  • Низкоуровневое программирование WebGL.
  • Рендеринг простого трехмерного объекта.
  • Подробные комментарии процесса разработки.
  • Много букв и код на JavaScript.
  • Бесплатная выпивка и приятная музыка.


Статья предназначена для тех, кому просто нечего делать и хочется почитать про то, как другие тратят свое время за компьютером вместо прогулок под теплым летним солнцем.
Читать дальше →

База GeoIP – страны и города, июнь 2011 (+скрипт обновления)

Reading time3 min
Views12K
Вышла в свет обновленная версия русскоязычной базы данных стран и городов. Основные изменения:
— за счёт новой базы ipgeobase.ru повысилась точность определения городов Украины
— из бесплатной версии базы geobaza.ru исчезли города, поэтому точность определения городов других стран СНГ понизилась
— добавлен скрипт, с помощью которого вы можете самостоятельно обновлять базу (без добавления новых городов и стран)
— таблицы net_ru_2 и net_su удалены из базы, изменены примеры запросов
Результат этой работы доступен для свободного скачивания.
Читать дальше →

Что такое Ogre 3D и как его едят

Reading time4 min
Views28K
Ogre 3D – это кросс-платформенное SDK для создания графических приложений. Она имеет довольно обширные возможности, такие как полная поддержка OpenGL и Direct3D, полная совместимость с платформами Windows, Linux, Mac OS X и iOS, поддержка широкого выбора файловых форматов, продвинутая система частиц, программирования GPU и всех шейдерных языков высокого уровня и многое другое.

Если стало интересно, то прошу под кат.
Читать дальше →

Создание простого 3D приложения с помощью ShiVa3D

Reading time3 min
Views29K
ShiVa3D LogoВ этом году на Хабре довольно популярными стали статьи про написание игр на Unity3D. Но почему-то ещё никто не рассказывал про конкурентов. Сегодня я расскажу о самом главном (на мой взгляд) конкуренте – ShiVa3D.
Читать дальше →

CUDA: аспекты производительности при решении типичных задач

Reading time7 min
Views29K
Перед тем как начать переносить реализацию вычислительного алгоритма на видеокарту стоит задуматься — получим ли мы желаемый прирост производительности или только потеряем время. И несмотря на обещания производителей о сотнях GFLOPS, у современного поколения карт есть свои проблемы, о которых лучше знать заранее. Я не буду глубоко уходить в теорию и рассмотрю несколько существенных практических моментов и сформулирую некоторые полезные выводы.
Читать дальше →

Создание многоязыкового инсталлятора для Windows с помощью WiX

Reading time7 min
Views16K
logoВ этой статье я поделюсь с вами практическим опытом, полученным за много лет создания инсталляторов в Фаматек. Под катом — теоретические выкладки и практические инструкции, как безболезненно и «по феншую», совместимым с «Windows Logo Testing» способом создать инсталлятор, предлагающий пользователю выбрать язык установки и устанавливающий продукт на выбранном языке. При этом используются исключительно бесплатные решения.
Ознакомиться с заклинаниями

Как построить башню

Reading time5 min
Views3.6K
Разработчики игр люди легкомысленные, поэтому прошу прощения за беспечный стиль изложения.
Несмотря на возраст, мы верим, что (1) на земле есть красивые, сексуальные, верные девушки и (2)независимому разработчику можно заработать на играх. Все прочие иллюзии к семидесяти годам исчезают.

Под habracut странная история о компьютерной игрушке. И попытках поживиться за ее счет.

image

Читать дальше →

Инструкция по настройке Ejabberd с транспортом J2J/ICQ(с корректной кодировкой) на Ubuntu Server

Reading time7 min
Views15K
Всем привет.

Сегодня мы будем настраивать свой собственный jabber-сервер для example.org на Ubuntu Server Edition.
На этом сервере будет транспорт в аську и jabber. Логи будут писаться в директорию example.org/logs. Логи можно будет удобно смотреть с мобильного устройства(fancyindex+htpasswd+fail2ban).
Подразумевается, что минимум в Linux вы уже знаете. Также стоит отметить: инструкция является путеводной звездой, дает общее направление и не призывает выполнять ее на 100% так, как в ней написано. Также она не охватывает 100% настроек, нужно уметь настраивать web-сервер и работать с mysql.

Далее для примера я буду использовать Clodo.ru в качестве хостера. Естественно различные куски инструкций можно применять на любом другом дистрибутиве/хостере.

Читать дальше →

Продолжаем написание операционок. Шаг за шагом

Reading time2 min
Views8.1K
На написание этого поста меня подтолкнуло то, что посты iley прекратились, а хабралюди всё же хотели посты по осьдеву. Оговорюсь сразу, я сам изучаю и пишу небольшую ось, но изучаю, так что продвигаться будем вместе. Я собираюсь рассмотреть написание систем под защищённый режим для IA-32, рассказать о:
1) Проектировании;
2) Отладке;
3) Работе с графикой;
4) Работе с дисками;
5) Memory management;
6) Task management;
Возможно о чём-нибудь ещё, если это будет востребовано.
Читать дальше →

Книги, видео и другие материалы по разработке под iOS

Reading time4 min
Views114K
«Хочу программировать под iPhone — говори, что почитать...»
Любимая девушка


Когда решаешься заняться разработкой под iOS, то трудно выбрать литературу и ресурсы, которые действительно были бы полезны. Хорошо еще, что Apple предоставляет множество учебных материалов и программ с открытым исходным кодом в своем центре для разработчиков. В остальных книжках можно если и не утонуть, то порядочно захлебнуться. Сейчас я жалею, что потратил время на пару «мануалов». Не буду делать им антирекламу, а лучше порекомендую хорошие материалы по программированию под iOS.

Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
Читать дальше →

Пишем первое приложение для Android

Reading time8 min
Views560K
В любом деле самое сложное — это начало. Часто бывает тяжело войти в контекст, с чем столкнулся и я, решив разработать свое первое Android-приложение. Настоящая статья для тех, кто хочет начать, но не знает с чего.

Статья затронет весь цикл разработки приложения. Вместе мы напишем простенькую игру “Крестики-Нолики” с одним экраном (в ОС Android это называется Activity).

Отсутствие опыта разработки на языке Java не должно стать препятствием в освоении Android. Так, в примерах не будут использоваться специфичные для Java конструкции (или они будет минимизированы на столько, на сколько это возможно). Если Вы пишете, например, на PHP и знакомы с основополагающими принципами в разработке ПО, эта статья будет вам наиболее полезна. В свою очередь так как, я не являюсь экспертом по разработке на Java, можно предположить, что исходный код не претендует на лейбл “лучшие практики разработки на Java”.

Читать дальше →

Более 50 статей по виртуализации на русском языке

Reading time2 min
Views10K
Привет, хабрасообщество!

Наконец-то свершилось то, чего я так ждал! Мы долго трудились, и вот результат! Пожалуй, что имеет смысл сообщить просто факт: мы рады представить обновленный центр по виртуализации на Microsoft TechNet.

Мы нашли и перевели около 50 статей, которые смогут помочь как начинающим, так и уже опытным системным администраторм разобраться (местами очень непонятными) технологиями виртуализации. Мы готовили данный контент с ожиданием того, что это будет по-настоящему полезным и приятным сюрпризом для всех тех, кто занимается виртуализацией в той или иной мере. Пожалуй, что не буду попусту тратить место на экране, а просто представлю то, что у нас получилось:

1. Преимущества виртуализации

2. Виртуализация серверов

3. Виртуализация локальных настольных компьютеров

4. Виртуализация удаленных рабочих столов
Читать дальше →

Ускоряем базу данных веб-сайта

Reading time19 min
Views119K
Скорость загрузки веб-сайтов всегда была важной темой, но стала еще более актуальной с апреля 2010 года, когда Google стал учитывать её при ранжировании сайтов в поисковой выдаче. Однако, основной уклон, как правило, делался на уменьшении размера файлов, оптимизации параметров сервера, CSS и Javascript.
Также имеет место еще один немаловажный фактор. Это скорость, с которой веб-страницы формируются на сервере. Большинство крупных современных сайтов хранит всю информацию в базах данных и используют различные языки (например, PHP или ASP) для её извлечения, формирования HTML-страницы и отправки её браузеру.
Читать дальше →

FPV

Reading time4 min
Views136K
Эта статья для тех, кто с детства мечтает летать как птица. Сразу оговорюсь, в реале Вы не полетите, но чувства будут очень близки. Итак, речь идет о FPV (first person view)-полетах. FPV — это новое движение в авиамоделизме, его суть заключается в управление моделью самолета через установленную на борту камеру. Картинку с борта самолета Вы получаете в реальном времени и видите через очки “виртуальной реальности”. Также, на очках установлен датчик поворота головы и камера на самолете поворачивается вслед за поворотами Вашей головы. У вас появляется неподдельное ощущение реального присутствия. А самолетом Вы управляете по радио каналу. Со стороны это выглядит примерно так:


А вот как выглядит изнутри:

Читать дальше →

Создаем точку доступа Wi-Fi под Linux из USB модема

Reading time7 min
Views62K
image

Все началось, когда я заменил материнскую плату в своем домашнем компьютере. В старой плате был встроенный USB Wi-Fi адаптер на обычном Realtek 8187, который два года исправно работал точкой доступа под Windows. В новой плате Wi-Fi модуля не было, зато у меня появился целый сервер на замечательном Intel Atom 525 с одним маленьким недостатком — в нем было очень мало PCI слотов.

Немного поразмышляв, я решил сделать невинную, как мне сначала казалось вещь — запустить программную Wi-Fi точку доступа на обычном USB адаптере. Если бы меня предупредили что меня ожидает, я бы отказался от идеи с самого начала! Я раздобыл недорогой адаптер и, только в процессе возни с ним, стал осознавать что использование «неправильного» USB на «неправильном» чипсете это настоящее насилие для Linux! Гуру Линукса отказывались от помощи!

Тем не менее, мне удалось подружить Debian 6.0 с чипсетами Ralink 2870/3070 и Atheros 9170, и я готов раскрыть эту страшную тайну всему миру!
Вперед!

Information

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