Обновить
512K+

Веб-разработка *

Делаем веб лучше

402,12
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Так ли безопасно хранение пароля в виде хеша

Время на прочтение2 мин
Охват и читатели7.3K
Практически любой, даже начинающий разработчик, скажет вам, что пароли в базе надо хранить только в виде хеша (например md5). Это обеспечит их сохранность и увеличит безопасность системы в целом. Так ли это на самом деле?
В действительности нет, не так. Безопасность, да и сохранность, конечно повысится, но не очень сильно. В интернете уже давно есть базы хешей многих паролей. Трехминутный поиск только по Яндексу вывел меня на следующие сайты — MD5decrypter (568 002 хешей) и Insidepro (10 148 884 хешей). Уже не мало, ведь так? А это только открытые проекты и только по md5. Я думаю у любой серьезной хакерской группы есть свои базы, благо, с наличием бот-сетей распределенные вычисления перестают быть проблемой.
Кто-нибудь самый догадливый предложит, а давайте к пользовательскому паролю добавлять свой секретный длинный префикс. Ну или делать, например, md5 от md5. Взломщик никогда об этом не догадается и пароль не подберет.
Не поможет. В действительности при взломе хеша нам важен не оригинальный пароль, а поиск коллизии. Ведь неважно введем мы пароль 76854 или Fhndkts если md5(’76854′) будет совпадать с md5(’наша_секретная_строка’.’Fhndkts’).

Единственная проблема, что вариантов хешей все таки очень много и они будут занимать очень большое место в базе данных. да и поиск по ним потребует очень длительного времени.
Однако и эта проблема решается при помощи Rainbow Tables. Используя их мы на несколько порядков уменьшаем размер хранимой базы и скорость поиска пароля. Более подробно об этом можно почитать здесь и здесь. Для построение таких таблиц также нужны распределенные вычисления. И такие проекты есть — Rainbowcrack.com. Размах впечатляет — 2,628 таблиц, 102,080,000,000 цепочек (в каждой цепочке примерно 1000-1500 паролей), 1.49 Тб данных. Есть также российский подобный проект, но пока добились они намного меньшего.
Вот и как теперь хранить пароль?
denis.boltikov.ru

Книга о Django вышла в свет

Время на прочтение1 мин
Охват и читатели5.1K
На прошлой неделе вышла книга о фреймворке Django — «The Definitive Guide to Django: Web Development Done Right». Её можно купить на Амазоне или почитать в онлайне.

Черновик был опубликован в сети около года назад. С тех пор читатели добавили около двух с половиной тысяч комментариев. Авторы книги (Adrian Holovaty и Jacob Kaplan-Moss) высоко оценивают качество и количество замечаний и благодарны всем, кто участвовал в совершенствовании текста.

Django — это замечательный веб-фреймворк, написанный на языке Python. Важнейшее отличие Django от общеизвестного RoR состоит в том, что модели определяются на языке программирования и структура БД генерируется автоматически, а не наоборот. От основных собратьев по языку Django отличается в первую очередь монолитностью. (Разумеется, все отличия имеют свои положительные и отрицательные стороны.)

Давайте убьем IE6

Время на прочтение1 мин
Охват и читатели1.9K
Internet Explorer 6.0 был представлен публике 27 августа 2001 года. Ни для кого не секрет, что он содержит большое количество ошибок рендеринга, плохо поддерживает стандарты, плох с точки зрения безопасности и удобства.
Читать дальше →

Сколько стоит сделать сайт?

Время на прочтение1 мин
Охват и читатели9K
В продолжении темы "о стоимости разработки сайта студией Лебедева" хотелось бы затронуть интересный вопрос!

Сколько у Вас стоит создание веб-сайта?
По каким критериям у Вас происходит ценоообразование?
Как Вы относитесь к сознательному завышению и занижению стоимости?

Вопрос касается не только разработчиков веб-сайтов, но и просто дизайнеров, программистов, копиров итд…

Как грамотно отправлять почту из скриптов (в частности — на PHP)

Время на прочтение5 мин
Охват и читатели42K
Первая часть текста взята из инструкции хостинг-провайдера Netangels. Вторая — авторская.

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

Для того, чтобы быть уверенным, что ваше сообщение отправляется действительно верно, необходимо иметь по меньшей мере базовые представления о формате почтового сообщения. Формат почтового сообщения описан в нескольких стандартизирующих документах, основными из которых являются RFC 822 (описывает формат передачи простого текста на английском языке) и RFC 2045 и далее (описывает расширения этого формата для передачи произвольных данных).
Читать дальше →

Apache Autoindex — эксперименты

Время на прочтение1 мин
Охват и читатели2.9K
www.mocksoul.ru/pub/music/mixup/funk

Вот таким вот можно сделать apache autoindex (mod_autoindex) :).

Исструментарий: в свойствах IndexOptions: FancyIndexing VersionSort Charset=UTF-8 FoldersFirst HTMLTable XHTML NameWidth=70 -SuppressHTMLPreamble. Небольшой Header с яваскрипт-стайлингом. Ну и CSS2/3 селекторы в CSS :) Поизучайте сёрс (http://www.mocksoul.ru/apache_autoindex.css, www.mocksoul.ru/apache_autoindex_header.htm). По-моему ничего так получилось… =).

JavaScript: создание DOM фрагментов

Время на прочтение2 мин
Охват и читатели20K
Если приходилось когда-нибудь писать JavaScript и приходилось в JavaScript’е писать что-то вроде:
var p = document.createElement( «p» );
p.appendChild( document.createTextNode( «Настоящий рыба фиш.» ) );
var div = document.createElement( «div» );
div.setAttribute( 'id', 'new' );
div.appendChild( p );

то это может быть вам полезно.
узнай, как сделать себе жизнь проще

Первый взгляд на HTML 5

Время на прочтение12 мин
Охват и читатели27K

Preamble

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

Вводная «лирическая» часть текста сокращена, т.к. она во многом пересекается с ранее опубликованным обзорным постом об HTML 5, в котором был приведен фрагмент интервью того же автора.

Автор: Лахлан Хант, http://lachy.id.au
Оригинал: http://www.alistapart.com/articles/previewofhtml5
Перевод: Александр Мусаев, http://paradigm.ru

Введение

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

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

Microsoft представила новую среду для веб-разработки Volta

Время на прочтение1 мин
Охват и читатели971
Volta logo
Исследовательское подразделение Microsoft Live Labs сегодня представило свою новую разработку — программную среду Volta, предназначенную для создания распределенных приложений, а также программного обеспечения работающего в сетевой среде.

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

«В обычных условиях программистам, создающим приложения работающие в клиент-серверной среде, приходится принимать решения какие функции передать клиентскому приложению, а какие оставить на сервере. Зачастую решать это приходится на ранних стадиях разработки, а если в последствие возникают ошибки, то приходится переписывать многие части приложений. С Microsoft Volta решить какие функции распределить между клиентом и сервером можно будет гораздо позже», — говорит Алекс Делей, менеджер подразделения Microsoft Live Labs.

В перспективе Volta станет дополнительным ПО для среды Visual Studio 2008. Написана среда Volta на Microsoft Intermediate Language (MSIL), что говорит о том, что люди знакомые с языками Visual Studio, например Visual Basic или C#, смогут без проблем работать и с Volta.

«Volta позволяет писать клиент-серверный код без разделения, а лишь затем при помощи аннотаций определить, где какая часть будет выполняться», — пояснил Делей.

На сегодня Volta пока не фигурирует в официальной продуктовой линейке Microsoft.

Источник: cybersecurity.ru.

Капча на основе изображений

Время на прочтение3 мин
Охват и читатели16K
Краткий обзор наиболее известных реализаций
<A
href=«gs264.sp.cs.cmu.edu/cgi-bin/esp-pix»>PIX CAPTCHA от университета Carnegie Mellon — так называемая капча с использованием именованных изображений (naming images CAPTCHA) — пользователь видит несколько картинок и должен выбрать слово, которое подходит по смыслу всем показанным изображениям. Главная проблема этого типа капч в ошибках при написании слова-ответа и в словах-синонимах (например: собака, пес и т.п.) В данном примере это решается выбором варианта ответа из наперед подготовленного списка.
KittenAuth от Оли Варнера (Oli Warner)
для того, чтобы доказать свою «человечность» посетитель должен выбрать изображения всех животных
определенной породы среди предложенных. К сожалению, ограниченное количество изображений позволяет
воссоздать набор картинок вручную.

Asirra от Microsoft — в общих чертах
похоже на KittenAuth — пользователь должен различить кошек от собак, но, поскольку оперирует
большим количеством упорядоченных изображений (фотографии бездомных животных со специализированного
сайта), то воссоздание базы изображений с целью взлома невозможно. <A
href=«infolab.stanford.edu/~wangz/project/imsearch/IMAGINATION/ACM05/datta.pdf»>IMAGINATION
— капча, которая проходится в два шага. На первом этапе пользователь кликает по картинке, которая
собрана из нескольких изображений и выбирает одно из них. На втором этапе загружается выбранное
изображение, увеличенное, но очень искаженное. Также загружаются варианты названия того, что изображено на картинке,
и пользователь должен выбрать правильный ответ из списка.
Читать дальше →

Финальный релиз Ext 2.0

Время на прочтение1 мин
Охват и читатели852
В прошлом многочисленные беты и кандидаты. Теперь встречаем финальный релиз одного из самых мощных JS фрейворков для разработки web-приложений – Ext 2.0. Что имеем с обновлением:
Читать дальше →

Zend Eclipse Neon Beta2

Время на прочтение1 мин
Охват и читатели1.4K
29 ноября вышла вторая бета Zend Studio for Eclipse (Neon)
Пофиксено около 100 багов, добавлены фичи (ничего экстраординарного не заметил)
Zend Studio for Eclipse (Neon)

Список всех изменений:
www.zend.com/topics/Studio-Eclipse-Beta2-Update.pdf

Скачать (299мб):
для Windows
для Linux

Ближайшие события

Silverlight 2.0 выйдет в начале 2008 года

Время на прочтение1 мин
Охват и читатели653
Вместо того, чтобы присвоить ближайшему апдейту кроссплатформенного Flash-подобного плагина Silverlight номер 1.1, корпорация Microsoft приняла другое решение. Как следует из записи в корпоративном блоге, бета-версия этого апдейта выйдет под номером Silverlight 2.0, хотя с момента появления Silverlight 1.0 в марте 2007 года не прошло и года.

Нужно сказать, что альфа-версия программы уже вышла именно под номером 1.1. Но… «мы отступили на шаг назад и окинули взором все новые фичи… и поняли, что повышение номера релиза на одну десятую не отражает его настоящей сущности», — пишет Скотт Гутри (Scott Guthrie), главный менеджер подразделения разработки Microsoft, объясняя причины чудесного переименования Silverlight 1.1 в Silverlight 2.0.

Гутри также сообщил, что бета Silverlight 2.0 выйдет с лицензией “go-live”, что позволит разработчикам создавать коммерческие приложения с её помощью.

В Silverlight 2.0 будет интегрировано подмножество специфических функций .Net, а программисты смогут работать в привычной среде, похожей на Visual Studio.

Когда можно начинать маяться чухней

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


Мышкой — клик!

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

А все почему? Потому что маяться чухней и делать матерные «ахтунг-сайты» надо тогда, когда самое главное работает нормально.

Для остальных: у меня и хуже косяки бывали.

AJAX: проблемы стабильности и надёжности при большой нагрузке на сервер

Время на прочтение3 мин
Охват и читатели5.5K
Последние пару месяцев пишу небольшое Ajax-приложение.

Если коротко, то такой упрощённый браузерный Excel — фильтр сверху, табличка с данными снизу. Пользователь выбирает в фильтре, что он хочет редактировать, в табличку снизу подгружаются данные, пользователь их может редактировать, после изменения данных они отправляются на сервер, там обрабатываются, записываются в базу данных, сервер генерирует новые данные, графики, данные отправляет назад, графики отображаются отдельно в iFrame. До меня это приложение было не аяксовым, а основывалось на обычных формах, и пользователю приходилось ждать новой загрузки страницы после каждого изменения фильтра или данных (так как данные в ячейках зависили от других ячеек, приходилось делать пересчёт после каждого изменения), а мне поручили переделать всё под Ajax. Я не javascript-программист, я из мира Delphi/Builder, где весь интерфейс рисуется без проблем за полчаса, а потом уже пишется логика. Многое мне пришлось изучать на ходу, почти всё пришлось писать самому (вручную рисовать контролы и описывать эвенты на javascript, попутно борясь с несовместимостью или разной реакцией разных браузеров на один и тот же код — брррр, врагу не пожелаешь).
Читать дальше →

Никогда не поздравляйте своих пользователей с днем рожденья!

Время на прочтение1 мин
Охват и читатели1.9K
В прошлую субботу я отметил свой день рожденья и в очередной раз пронаблюдал печальный результат работы некоторых веб-программистов. В моем почтовом ящике обнаружилось 27 писем с разных порталов и форумов с поздравлениями. Причем, многие поздравления различались только адресом отправителя, моим регистрационным ником и названием соответсвующего форума (привет phpBB!!!). Яндекс тоже не остался в стороне и прислал поздравительную открытку.
Приятно ли мне было получить все эти сообщения? — Нет! Всё это тут же было приравнено к спаму и удалено из ящика.
Читать дальше →

Denwer 3 alpha

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

На текущий момент отличия от Денвера-2 следующие:
  1. Поддержка SSL (apache 2.2).
  2. PHP5 по умолчанию (+ модули sqlite, php_mysql, php_pdo, php_gd2).
  3. MySQL5 по умолчанию.
  4. Perl больше не входит в базовый пакет (он будет идти в полноценном пакете
    расширения в директории /usr/local/perl).
  5. Совместимость с Windows Vista (включая решение проблемы с
    read-only файлом hosts).
  6. Явное разделение OpenSource-компонентов и файлов Денвера.
  7. Расширенная выдача отладочной информации в случае ошибки установки.

Автор обращает внимание, что пакеты расширений для Денвера-2 НЕ ПОДОЙДУТ для Денвера-3!

Линк на страницу закачки.
Обсуждения здесь.

Имхо конечно, но всетаки стоило бы уже приделать Денверу GUI и инсталлятор человеческий сделать.

Пока ничего больше сообщить не могу, т.к. только сам себе его поставил, просто констатирую факт. Уже начал тестить.

Нагло затырил новость у MTonly. Бью челом. =)

Первое правило веб-дизайнера

Время на прочтение1 мин
Охват и читатели1.1K
Читаю статью, названную «5 правил хорошего дизайна для web», и вижу, какая каша творится с понятиями у людей.

Первое правило веб-дизайнера гласит:

«Не путать дизайн с подготовкой макетов».


Ведь не путают же написание музыки с рисованием нот? Не путают создание романа с написанием текста? Не путают написание картины с вождением кистью по бумаге?

Дизайн — это проектирование, а не подготовка файлов к верстке.

Update: название статьи уточнено, так что предлагаю далее обсуждать, кто как понимает слово «дизайн».

5 правил подготовки макетов веб-страниц

Время на прочтение3 мин
Охват и читатели7.2K
Приходится ли Вам работать с дизайном, который присылает сам клиент (дизайн выполняется не вашей студией)? Всегда ли получается реализовать тот полёт фантазии, который изображен на PSD? Возможно даже, Вам знакома ситуация, когда, чисто технически, точно сверстать присланный материал не получалось. Припомнили?

Хотели бы Вы, чтобы дизайнер понимал верстальщика, продолжая и дальше мыслить своими художественными категориями, не вдаваясь во все эти «аштиэмэлы» и «цээсэсы»? Обеспечивал верстальщика качественным материалом для вёрстки, который является одним из основных факторов влияющих на время и качество вёрстки?

Соблюдение приведённых пяти правил достаточно, чтобы найти общее понимание с клиентом (предоставте ему эти правила и поясните, что только при их выполнении можно гарантировать 100% соответствие нарисованного со свёрстаным), а так же обеспечить продуктивную совместную работу дизайнера и кодера.

18.11.07.Раньше статья называлась «5 правил хорошего дизайна для web», однако некоторым это название показалось подменой понятий. В этой статье речь идёт не о эстетических аспектах дизайна веб-сайтов, а о технических правилах подготовки дизайна для вёрстки. Спасибо всем, кто поддержал меня и тем, кто понял, что имелось в виду в первоначальном названии.
Читать дальше →