Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

.Net Собеседник - Новости мира Net, C#, ASP.Net Выпуск №1


Информационный Канал Subscribe.Ru


.Net Собеседник 1

Содержание:
  1. От автора
  2. Обзор новостей
  3. Время кода
  4. Форумы .Net на www.sql.ru

От автора

Здравствуйте, коллеги!

Появилось немного свободного времени и я решил попробовать себя в относительно новой сфере деятельности - создании рассылки. Почему "относительно" новой? Дело в том, что я занимаюсь, помимо основной работы, журналистикой и число моих статей, опубликованных в "бумажной" прессе, приближается к двум десяткам. Однако, со времени подготовки статьи до дня публикации проходит от 2-х до 3-х месяцев, в то время, как актуальность материала на день публикации часто падает. Надеюсь, что возможности рассылки помогут мне преодолеть недостатки печатных изданий в этом плане и дадут мне шанс поделиться с вами информацией, актуальность которой высока.

О чем бы мне хотелось рассказывать в своих выпусках? На данный момент я планирую составлять рассылку из трёх частей - первую часть вы читаете сейчас, т.е. первой частью будет "От автора". Здесь я буду делиться своими мыслями и впечатлениями, связанными с работой на платформе .Net.

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

В третьей части каждой рассылки будет размещена небольшая статья, может быть своя, но чаще переведённая мною, и демонстрирующая какой-то интересный приём программирования на платформе .Net. Основной упор будет делаться на использование языка C# в разработке веб-приложений, хотя это не значит, что не будет ничего другого. В итоге, своей целью я ставлю создание такого по объёму материала, чтобы его можно было прочесть за относительно короткое время (может быть 30-40 минут), чтобы он был интересен, компактен и не напрягал излишними словоизлияниями.

И, наконец, в четвёртой части будут размещены ссылки на неотвеченные вопросы форумов по .Net сайта www.sql.ru .

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

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

Ну, вот и всё, в путь!

Обзор новостей

Как ни странно это может быть для кого-то прозвучит, сегодня мы поговорим о компании Borland.

В последнее время в жизни компании, а также разработчиков, использующих её продукты (всем известные Delphi, C++ Builder) произошли три крупных события.

Первым событием можно считать появление C#Builder – инструмента разработки приложений на языке C#.

Вторым – анонс 3 ноября новой версии Delphi – Delphi 8 for .Net – инструмента, полностью поддерживающего разработку приложений на платформе .Net. Delphi 8 должна выйти в декабре 2003 года.

И третье событие – конференция Borland Developer's Day, прошедшая 13 ноября в Москве. Какие интересные моменты проведённой конференции можно отметить с точки зрения разработчика, помнящего компанию Borland как компанию, стремящуюся конкурировать с Microsoft буквально во всём – от электронных таблиц и текстовых редакторов (вспомним Quattor Pro и WordPerfect) до конька Borland – инструментов разработчиков, перечислять которые нет необходимости.

Во–первых , сама конференция была спонсирована Microsoft.

Во-вторых, вице-президент Borland по связям с разработчиками и главный проповедник корпорации Дэвид Интерсимоне (David Intersimone) сказал о том, что "Borland всегда идет по пути, намеченному Microsoft".

В-третьих, было сказано о том, что развитие линейки Delphi под Linux находится в состоянии «никак», основное внимание будет уделено платформе .Net.

Не менее интересен был доклад спонсора.
Основные моменты такие:
- Longhorn будет разрабатываться на платформе .Net (в какой степени и насколько эта информацию будет правдивой мы с вами, я надеюсь, увидим)
- Приложения Win32 будут работать в Longhorn, но все новые разработки будут вестись под платформу .Net

Основные этапы перехода на платформу .Net планируются такими:

1. Совместное сосуществование платформы Win32 и .Net (что мы сейчас с вами и наблюдаем)
2. Приход ядра WinFX и работа приложений Win32 через это ядро (интересно было бы узнать хотя бы то, как это планируется реализовать принципиально/схематически)
3. Longhorn – ОС, приложения .Net для которой будут родными, а Win32-приложения будут выполняться, хотя и будут считаться устаревшими.

Так что примерно можно себе теперь представить, чего можно ждать от Microsoft и стоит ли переходить на платформу .Net, учитывая то, что заявленный срок выхода ОС Longhorn – 2005/2006 гг.
Ну и ещё несколько моментов – было сказано, что разработка Win32-приложений была остановлена на Delphi 7, разработка библиотеки VCL для C++ Builder остановлена, следующая версия CBuilderX даже не является следующей версией C++Builder’a, а будет неким новым многоплатформенным инструментом.

В итоге – можно сказать что Borland, к моему большому сожалению (как начинавшему ещё с Turbo Pascal 3.0), потеряла возможность (или способность, а может быть просто желание) идти собственным курсом. С другой стороны, обретя такого партнёра, как Microsoft и будучи компанией, специализирующейся на разработке высококлассных инструментов, компания может обрести второе дыхание и не затеряться в тени гиганта.

Кроме того, с моей точки зрения, для разработчиков, использующих Delphi, большой плюс то, что компания «мягко» переведёт их на новую платформу, без метаний и необходимости изучения нового языка. Хотя может быть многие уже и перешли на C#, устав ждать, когда же выйдет Delphi for .Net. Тем более разрабатывал его Андерс Хейльсберг – человек, принимавший активное участие в разработке Delphi первых версий. О том, почему произошла такая задержка мы с вами поговорим в следующих выпусках Собеседника.

В статье Сергея Шмакова конференция Borland описана более подробно. А новостей на сегодня больше нет – перейдём к следующему разделу.

Время кода

Кодируйте ввод пользователя перед тем, как вывести его на страницу - или куда-нибудь ещё!

ЯЗЫК: C#
ВЕРСИИ ASP.NET: 1.0 | 1.1
АВТОР: Jeff Prosise,
http://www.aspnetpro.com/
ПЕРЕВОД: hDrummer

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

<html>
<body>
<form runat="server">
<asp:TextBox ID="Input" RunAt="server" />
<asp:Button Text="Click Me" OnClick="OnSubmit" RunAt="server" />
<asp:Label ID="Output" RunAt="server" />
</form>
</body>
</html>
<script language="C#" runat="server">
void OnSubmit (Object sender, EventArgs e) {
Output.Text = "Hello, " + Input.Text;
}
</script>

Если вы подумали, что "дыра" касается строки, введённой пользователем, ваша мысль верна. Веб-страница никогда, НИ ПРИ КАКИХ УСЛОВИЯХ, не должна использовать необработанный пользовательский ввод. Почему? Потому что в этом случае страница становится восприимчивой к кросс-сайт скриптовым атакам (to cross-site scripting (XSS) attacks). Для демонстрации этого, запустите страницу и наберите следующий текст в поле ввода:

<script>alert('Опачки!')</script>

Нажмите кнопку "Нажми меня" и окно с сообщением появится в вашем браузере. Проблема? Когда вы нажали на кнопку, браузер интерпретировал ввод, как часть кода, которую необходимо выполнить. И если этот скрипт достаточно безвреден, то хакеры могут ввести далеко не такие безвредные скрипты. Даже написав такую простую страницу как эта, нельзя быть уверенным, что все посетители будут использовать её так, как вы задумали. (Заметьте, что если вы используете страницу с ASP.NET 1.1, ва надо будет добавить директиву вверху вашей страницы, чтобы увидеть окно с сообщением.)
Прим. переводчика: Честно говоря после этой поправки лично для меня ценность этого HotTip'a для меня значительно упала, но раз уж начал переводить, доведу дело до конца.
Решение проблемы довольно простое. Перед тем как отображать ввод пользователя на странице, используйте метод Server.HtmlEncode для HTML-кодирования этого ввода. Следующая страница функционально эквивалентна предыдущей, однако, благодаря HTML-кодированию, текст пользователя меняется пред выводом на страницу. Например, символы <> превращаются в & lt; и & gt; - что неприемлемо для XSS-атакующего.

<html>
<body>
<form runat="server">
<asp:TextBox ID="Input" RunAt="server" />
<asp:Button Text="Click Me" OnClick="OnSubmit" RunAt="server" />
<asp:Label ID="Output" RunAt="server" />
</form>
</body>
</html>
<script language="C#" runat="server">
void OnSubmit (Object sender, EventArgs e) {
Output.Text = "Hello, " + Server.HtmlEncode (Input.Text);
}
</script>


Помните: пользовательский ввод является вредоносным по умолчанию и должен рассматриваться именно с этой точки зрения. Server.HtmlEncode превращает "плохой" пользовательский ввод в "хороший" и, может быть, спасёт ваш веб-сервер от взлома - или чего-нибудь похуже.
Примечание переводчика: По-настоящему серьёзную опасность такой скрипт будет представлять, если его удастся записать в базу данных, которой пользуются десятки и сотни человек. Представьте себе, например, что это гостевая книга известного сайта, один из пользователей которой запишет вместо гостевой записи данный скрипт, да ещё выводящий какой-нибудь нецензурный текст раз этак сто. О последствиях можно пофантазировать, но посещаемости это событие  гостевой книге явно не добавит.

Форумы .Net - вопросы оставшиеся без ответа

Индексированные свойства
System.web.mail koi-8 win-1251
Конструкторы в интерфейсах .......
WinForms: TargetInvocation
Правильная рекурсия в Controls
Доступ с КПК к MSSQL server
реализация DAL - Как правильно
ADO.NET в качестве стредства моделирвоания БО
ASP - авторизация пользователей
Кто-нибудь пытался ставить Mono.NET и mod_mono for Apache?


На этом первый выпуск .Net Собеседника закончен. Поздравляю всех с наступающим Новым 2004 Годом, желаю здоровья и удачи!

hDrummer, hdrummer@mail.ru - жду ваши предложения, вопросы и замечания.

Рассылки Subscribe.Ru
.Net Собеседник - Новости мира Net, C#, ASP.Net

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное