Webdav сервисы. Установка и настройка WebDAV на IIS в Windows

Когда установочный процесс завершится, на рабочий стол выйдет соответствующий ярлык, открывающий программу. Авторизуйтесь, введя логин и пароль своего email. Перед просмотром входящей корреспонденции рекомендуется внимательно ознакомиться с информацией, размещенной в приглашении на Яндекс Почту. Кнопка «Перейти в почту» откроет папку под названием «Входящие». В ней находятся все адресованные вам сообщения.

Настройка посредством протоколов

Интерфейсы POP3 и IMAP обеспечивают возможность получать почту на Андроид в одном приложении с нескольких почтовых ящиков. Каждый из этих протоколов имеет свои особенности.

  • POP3 позволяет получать на телефон копии писем. Их редактирование будет отражаться только в телефоне. В реальном почтовом ящике они будут находиться в исходном виде.
  • Благодаря IMAP, вы сможете редактировать корреспонденцию в электронном ящике непосредственно с телефона.

Чтобы настроить Яндекс Почту посредством протоколов, необходимо установить одно из приложений:

data-lazy-type="image" data-src="http://androidkak.ru/wp-content/uploads/2015/10/K-9-Mail..png 300w, http://androidkak.ru/wp-content/uploads/2015/10/K-9-Mail-150x150..png 120w" sizes="(max-width: 80px) 100vw, 80px"> . Это бесплатная программа с простым, без наворотов, интерфейсом. Её надежность проверена временем. Она удобна в работе. Совместима с другими приложениями.
.png" alt="Profi Mail" width="80" height="80" srcset="" data-srcset="http://androidkak.ru/wp-content/uploads/2015/10/ProfiMail..png 150w, http://androidkak.ru/wp-content/uploads/2015/10/ProfiMail-120x120.png 120w" sizes="(max-width: 80px) 100vw, 80px"> . Приложение, обеспечивающее нормальное масштабирование корреспонденции с гипертекстовой разметкой. Предлагаются бесплатная (trial) и платная версии.
.jpg" alt="Mail Droid" width="80" height="80" srcset="" data-srcset="http://androidkak.ru/wp-content/uploads/2015/10/MailDroid..jpg 150w, http://androidkak.ru/wp-content/uploads/2015/10/MailDroid-120x120.jpg 120w" sizes="(max-width: 80px) 100vw, 80px"> . Это - одно из самых продвинутых почтовых приложений со стильным дизайном. В нем предусмотрена возможность сортировки входящих писем, установлены фильтры сообщений. Можно выбрать интерфейс с темной или светлой темой, платную или бесплатную версию.

Для сервера входящей корреспонденции

Для сервера исходящих писем

Завершается процедура настройки переходом нажатием на кнопку «Далее». С этого момента Яндекс Почта начнет работать, доставляя и отправляя письма. Если вам нужно настроить дополнительный почтовый ящик, выполните все перечисленные выше манипуляции еще раз, указав его логин и пароль.

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

Для работы с яндекс почтой, не обязательно использовать веб интерфейс. ОС Android располагает встроенными почтовыми сервисами, а так же клиентом в виде отдельного приложения. Помочь разобраться вам, как настроить яндекс почту на любом Android устройстве, и посвящена данная статья.

Как подключить яндекс почту

На выбор пользователю доступны несколько методов подключения почты:

  1. Клиент «Яндекс.Почта».
  2. Протокол POP3 и IMAP в ОС Android.
  3. Протокол POP3 и IMAP в сторонних приложениях.

Клиент «Яндекс.Почта», представляет собой приложение, устанавливаемое отдельно и настроенное на работу с сервисом Яндекс. Это наиболее простой способ просмотра, редактирования и отправки электронных писем, что подойдет начинающим пользователям. Так же оптимальный вариант, если Яндекс – единственный используемый почтовый сервис.

Протокол POP3 и IMAP, используются для доступа к электронной почте. Для работы, установка дополнительного приложения не требуется, посколько ОС Android располагает встроенными инструментами. Данный вариант удобен в том случае, когда используются несколько сервисов, например «Mail.ru» и «Rambler». При необходимости, почтовый сервис легко соединяется с основной учетной записью, например с «Gmail».

Использование POP3 и IMAP в сторонних приложениях – альтернатива, на случай, если стандартные возможности Android не подходят или не устраивают.

Как настроить почту используя клиент «Яндекс.Почта»

  1. Скачайте и установите приложение бесплатно с нашего ресурса или магазина Google Play.
  2. Запустите программу, введите логин и пароль вашей учетной записи. При необходимости, клиент поддерживает создание нового аккаунта.
  3. Дождитесь авторизации, а после настройте программу, согласно личным предпочтениям.

Как настроить яндекс почту через POP3 и IMAP в ОС Android

  1. Откройте системные настройки, где выберите пункт «Аккаунты».
  2. В новом окне выберите пункт «Добавить аккаунт».
  3. Если устройство поддерживает POP3 и IMAP, выберите IMAP.
  4. Добавьте адрес электронной почты и нажмите далее, для автоматической настройки. Если необходимо настроить протокол «вручную» нажмите соответствующую кнопку.
  5. Затем на страничке Яндекс, необходимо ввести пароль.
  6. Появится запрос на предоставление данных для Gmail, где требуется нажать «Разрешить».
  7. Укажите частоту синхронизации и другие параметры.
  8. После добавления учетной записи, синхронизируйте данные, а так же укажите дополнительные параметры работы почты.

Если вы решили вручную ввести данные или автоматическая настройка не поддерживается, укажите параметры ниже.

Ручная настройка IMAP

Сервер входящей почты:

  1. Адрес почты и пароль.
  2. Сервер – imap.yandex.ru.
  3. Порт – 993.
  4. Тип безопасности SSL.

Сервер исходящей почты:

  1. Сервер SMTP – smtp.yandex.ru.
  2. Порт – 465.
  3. Тип безопасности – SSL/TLS.

Ручная настройка POP3

Сервер входящей почты:

  1. Адрес почты и пароль.
  2. Сервер – pop.yandex.ru.
  3. Порт – 995.
  4. Тип безопасности SLL.

При отсутствии поддержки SLL защиты, следует выбрать параметр «нет» и порт 110.

Сервер исходящей почты:

  1. Сервер SMTP – smtp.yandex.ru.
  2. Порт – 465.
  3. Тип безопасности – SSL/TLS.

При отсутствии поддержки SLL защиты, следует выбрать параметр «нет» и порт 587 или 25.

Как настроить яндекс почту через POP3 и IMAP в сторонних приложениях

Установите одно из предпочтительных приложений – K-9 Mail, ProfiMail Go или Mail Droid. Алгоритм действий аналогичен: укажите почту и пароль, задайте вручную параметры выше, или воспользуйтесь автоматической настройкой.

Вывод

При настройке яндекс почты, предпочтительно воспользоваться протоколами POP3 и IMAP в ОС Android. Это сэкономит место на накопителе и снизит нагрузку на оперативную память. При неудавшейся настройке или начинающему пользователю, рационально начать с использования клиента «Яндекс.Почта». Если фирменный клиент не устраивает, тогда воспользуйтесь сторонними приложениями.

(3 оценок, среднее: 3,67 из 5)

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

Регистрация на Яндексе

Итак, первое, что нам нужно сделать, — это зарегистрироваться. Создаем учетную запись, перейдя на домашнюю страницу проекта www.yandex.ru . Заходим на веб-страницу портала. Как видим, все службы Яндекса доступны прямо на главной странице. Знакомимся с возможностями сервиса и нажимаем кнопку «Завести почту» рядом с правым верхним углом экрана.

Перед нами откроется форма регистрации. Вводим данные для аутентификации, среди которых имя, фамилия (можно использовать псевдоним), логин, пароль и действующий номер мобильного телефона. Важно сказать, что номер мобильного должен быть действительно актуальным, поскольку при регистрации нужно будет подтвердить свою аутентичность, воспользовавшись паролем из SMS, который на него придет. Когда номер телефона будет введен, нажимаем кнопку «Получить код»

На указанный номер придет сообщение с цифровым кодом, который надо будет ввести в появившемся поле.

Как только код будет введен, нажимаем кнопку «Подтвердить».

Если все данные введены правильно, появится небольшое текстовое сообщение о том, что телефон был успешно подтвержден. Итак, вводим все остальные данные и ставим галочку на пункте принятия пользовательского соглашения внизу. Когда все данные для авторизации окажутся введены, нажимаем кнопку «Зарегистрироваться» в самом низу страницы.

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

Предварительная настройка почты Yandex

На первом шаге предлагается установить мобильное приложение для входа на почту с телефона. Это можно будет сделать и позже. Если вы не хотите откладывать это решение на потом, проверяем свой номер мобильного и нажимаем кнопку «Получить» в левой части конфигурационного окна.

На указанный номер придет СМС с прямой ссылкой, по которой можно будет скачать мобильный клиент Яндекс-почты. Впрочем, его можно найти и самостоятельно в официальном магазине Google Play, так что особой важности данный пункт не несет. Идем дальше. Для перехода к следующей итерации предварительной настройки щелкаем «Далее».

Следующая фаза – это генерация меток. Метки служат для быстрой фильтрации сообщений в списке сообщений. Присвоив метку тому или иному сообщению, вы быстро сможете узнать, относится ли то или иное письмо к разряду важных, или с его содержимым можно ознакомиться позднее. С помощью меток можно тонко настроить приоритизацию почтовых сообщений, и механизм этот весьма гибкий и кастомизируемый. По умолчанию в сервисе создаются 3 метки: работа, друзья и позже. При желании можно добавить дополнительные лейблы, придумав им имя и назначив цветовое соответствие из графической палитры.

Следующий шаг – это сбор почты со сторонних почтовых аккаунтов в Яндексе. Если вы не хотите пользоваться для каждого ящика своим персонифицированным клиентом, объедините все аккаунты в одном Яндекс-клиенте. Как это сделать? В ответ на вопрос «У вас есть другие почтовые ящики?» жмем кнопку «Да, есть».

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

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

В следующем поле предлагается ввести ваше имя, которое будет отображаться в каждом письме, отправленном с указанного выше аккаунта, в поле «От кого». Это может быть как ваше настоящее имя, так и никнейм, или псевдоним. Последнее поле служит для ввода подписи, которой будет заканчиваться тело каждого написанного сообщения.

Еще одна полезная фишка – это выбор фотографии, которая будет отображаться в поле отправителя в письмах и в Яндекс-паспорте. Подберите себе яркую запоминающуюся аватарку, и это расширит ваш круг знакомств и обогатит манеру общения.

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

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

Если вы пропустили какой-либо из шагов и ничего не указали, не беда, — все описанные выше действия можно будет проделать позже, обратившись в раздел «Настройка». Кстати, там присутствуют и другие параметры, на которых мы также остановимся немного позднее.

Как работать с Yandex-почтой?

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

Как добавить новую кнопку на верхнюю панель?

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

Как установить метку на письмо, и как осуществлять фильтрацию корреспонденции по меткам?

Метки помогают структурировать вашу почту по разделам, разделить письма на важные и не важные, на деловые и личные, на срочные и те, что можно отложить на потом и т.д. Пометив соответствующее сообщение определенной меткой, тем самым вы прикрепляете ее к одной из категорий, которые вы сами и определяете (по названию метки). О создании меток мы писали чуть раньше, в разделе «Предварительная настройка почты Yandex». Для установки метки на письмо, откройте нужное вам сообщение и выберите элемент меню «Поставить метку». Перед вами откроется всплывающее меню выбора меток. Отметьте наиболее соответствующую открытому сообщению метку, тем самым вы прикрепите ее к сообщению.

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

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

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

Как осуществлять поиск по письмам?

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

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

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

Как переместить письмо из одной папки в другую?

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

Как работать с адресной книгой?

В Yandex встроена довольно мощная адресная книга, которая актуальна и для других сервисов портала (Яндекс.Диск. Яндекс.Музыка, Яндекс.Фотки). Чтобы перейти в нее, следует выбрать вкладку «Контакты» на контекстной топ-панели.

Одна из самых полезных фишек здесь – это возможность сохранения списка контактов во внешний текстовый файл и экспорта его оттуда в любой удобный момент на другой почтовый ящик либо на исходный мейл-бокс в случае порчи или утери контактов. Но вначале, остановимся на том, как же создать новый контакт. Для добавления контакта в адресную книгу щелкаем на кнопке «Добавить контакт» вверху.

Появляется форма заполнения карточки контакта. Вводим все необходимые данные и сохраняем внесенные изменения, нажав на соответствующую кнопку.

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

Теперь о том, как экспортировать и импортировать список контактов. На верхней панели выбираем пункт «Еще», если последние значения на вашем мониторе не отображаются. В появившемся мини-списке выбираем пункт «Сохранить контакты в файл».

В качестве следующей опции выбираем формат, в котором будут сохранены ваши контакты. Если вы хотите перенести свои данные на настольный почтовый клиент (Outlook, Thunderbird, The Bat!), выберите тот формат, который наилучшим образом подходит одному из них. Если же вы хотите сделать резервную копию для самого Яндекс-клиента, выберите формат vCard.

Когда формат окажется выбранным, кликните кнопку «Сохранить» для подтверждения своего выбора и запуска процедуры экспорта.

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

Спустя секунду файл окажется на вашем жестком диске.

Теперь о том, как импортировать готовый файл в Яндекс. Снова нажимаем на пункте меню «Еще» и на этот раз выбираем элемент «Добавить контакты из файла».

На всплывающей форме жмем кнопку «Выбрать файл».

Находим файл на диске, выделяем его и используем кнопку «Открыть».

Когда файл окажется выбранным, его имя появится в основной штатной форме Яндекса. Если он будет доступен на форме, жмем «Сохранить», и все данные будут импортированы, свидетельством чему будет соответствующее сообщение.

Помимо версии для ПК, российские разработчики позаботились и о своих мобильных пользователях, создав приложение для чтения почты с Яндекса для Android и для iOS . Как работает это чудо? Об этом и пойдет речь далее.

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

В случае корректного ввода данных мы попадаем в само приложение. По умолчанию открывается форма приглашения с кратким руководством по использованию сервиса. Заходим на почту, нажав кнопку «Перейти к почте».

Как видим в списке есть и прочитанные, и непрочитанные сообщения. Чтобы пометить письмо как прочитанное, выполните свайп вправо. Аналогично, при помощи левого свайпа можно удалить письмо с сервера.

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

Чуть ниже находятся папки, структурированные по меткам. Важно отметить, в мобильной «Яндекс.Почте» выставить метку можно только на новых создаваемых письмах; на готовые письма, находящиеся в папках «Входящие» либо «Отправленные» выставить метку не представляется возможным.

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

На этом наша инструкция по настройке почты Yandex приближается к своему завершению. Хотя мы не сказали всего о настройках сервиса, главные возможности кастомизации мы все же осветили, не обойдя стороной расстановку меток, фильтрацию спама, работу с адресной книгой и многие другие функциональные возможности. Еще один важный момент – дизайн сервиса с постоянно регулярностью подлежит переработке, в настоящий момент на официальном ресурсе доступно 7-ая визуальное представление интерфейса, и на момент написания статьи разработчики работали над следующим вариантом графической оболочки. А что вы думаете о новой почте Яндекс? Считаете ли вы ее удобной, или каких-то определенных фишек вам все же не хватает? Напишите об этом в комментариях, ваше мнение очень важно для нас.

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

WebDAV

WebDAV (Web Distributed Authoring and Versioning) - это протокол для передачи данных и работы с ними, построенный поверх HTTP 1.1. Здесь следует заметить, что передача может быть как защищенной, так и незащищенной. В самом протоколе защищенность отсутствует, но она может быть добавлена через реализацию аутентификации на веб-сервере и шифрование посредством SSL, следовательно, в таком случае будет использоваться не HTTP, а HTTPS.

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

WebDAV предоставляет семь команд:

  • PROPFIND - получение свойств объекта на сервере в формате XML;
  • PROPPATCH - изменение свойств объекта;
  • MKCOL - создать папку на сервере;
  • COPY - копирование на стороне сервера;
  • MOVE - перемещение на стороне сервера;
  • LOCK - заблокировать объект;
  • UNLOCK - снять блокировку с объекта.

Таким образом, WebDAV позволяет изменять свойства хранящихся на сервере объектов, выполнять поиск с учетом свойств, блокировать объект (в нашем случае - файл) для организации возможности его редактирования только одним пользователем в распределенной среде, в которой доступ могут иметь много юзеров, управлять версиями файлов (посредством унаследованных команд check -in, -out), а также производить расширенный контроль доступа к файлам на основе списков.

Кроме того, WebDAV поддерживает унаследованные команды: GET - для скачивания файла, PUT - для заливки на сервер и DELETE - для удаления объекта. Мы не будем рассматривать все команды; в моем случае для реализации функционала утилиты мне понадобилось лишь четыре.

Ныне в разработке протокола участвуют Microsoft, Mozilla, Novell, IBM и другие. Поэтому не стоит удивляться тому, что поддержка WebDAV присутствует во многих продуктах Microsoft (в том числе Internet Explorer, проводнике, веб-сервере IIS и других), браузере Mozilla Firefox, продуктах фирмы Novell, IBM. Дополнительно, с помощью установки плагинов «подружить» с протоколом можно Total Commander и FAR.

Как уже было упомянуто, в Windows удаленное хранилище WebDAV можно подключить в проводник как дополнительный диск. Подобным образом можно поступить в OS X, организовав подключение к WebDAV-серверу как дополнительную директорию в обозревателе Finder.

Возможные решения

Передо мной стояла задача подключиться и организовать работу с данными на двух файловых хранилищах: Яндекс.Диск и Dropbox. Оба эти сервиса поддерживают работу по протоколу WebDAV. Регистрируя почту на Яндексе, ты автоматом получаешь доступ к 10 Гб облачного хранилища, к которому можно подключиться не только через стандартный клиент, но и с помощью сторонней тулзы (например, своей программы) посредством протокола WebDAV. При регистрации на Dropbox ты получаешь 5 Гб дискового пространства, которое можно использовать через стандартный клиент. Однако, чтобы получить доступ к хранилищу по WebDAV, надо пройти дополнительную регистрацию. В итоге, как выяснилось, этот доступ не бесплатный, тем не менее после регистрации дается свободный доступ на две недели. Размеры хранилищ можно увеличивать: или через доплату, или с помощью участия в разных акциях, проводимых сервисами, например находить баги и сообщать о них разработчикам.

Когда мне понадобилось написать программу для работы по WebDAV-протоколу, я первым делом заглянул в Win32 API, чтобы посмотреть, есть ли там функции для этого, подобно имеющимся для работы с FTP. Забегая вперед, отмечу, что сроки у меня стояли сжатые, поэтому использовать функции уровня API я не собирался. Как и следовало ожидать, в Win32 API, начиная с версии для Windows Vista, входит WebDAV API . В него входит одно перечисление, три структуры и набор функций. Я подумал, что это хороший знак, поскольку на основе стандартного API непременно имеются более высокоуровневые решения и мне не придется засиживаться с функциями API-интерфейса.

Тут под руку попалась Delphi XE3, и я решил проверить, какие инструменты для работы с протоколом WebDAV есть у нее. Оказалось, что в ней (на вкладке Indy Clients палитры компонентов) есть компонент IdWebDav. Я уже подумал, что на этом исследования закончились… Но обнаружилось, что этот компонент ни в какую не коннектится к Яндексу (Яндекс.Диск был для меня более приоритетным сервисом, поэтому все тесты я в первую очередь проводил на нем).

Затем я решил воспользоваться старой, но проверенной временем сетевой библиотекой Synapse для Delphi. К тому же в Рунете есть прекрасный сайт, содержащий несколько статей, посвященных этой либе, www.webdelphi.ru . На первых порах работа двигалась хорошо, и мне удалось реализовать несколько функций протокола: создание папки, скачивание файлов, получение свойств объектов. Но самую главную функцию - загрузку файлов на сервер с локального компа - реализовать так и не удалось. Стало грустно: в интернете об этом протоколе толковой информации нет. Bing нашел несколько платных наборов компонентов для работы с сетью, одной из которых я ради интереса решил воспользоваться, чтобы выяснить, реально ли загрузить файл на Яндекс.Диск. Этой либой оказалась Clever Internet Suite. Создав компонент класса clWebDav, одной строчкой кода удалось закинуть файл на сервер:

где stream - файловый поток, предварительно созданный для чтения.

Прекрасно, но отталкивает стоимость этой либы: более 500 у. е., что не есть гуд. Если ты захочешь воспользоваться этим способом, то обрати внимание на версию библиотеки: к Яндексу можно подключиться только с помощью версии 7.0 и выше, если воспользоваться распространенной на просторах Сети версией 6.0, то загрузка данных на сервер не удастся. На этом «играться» с Delphi мне надоело, и я решил обратиться к dotNET и C#.

Подключаемся к Yandex.disk + создаем коллекцию

Поскольку WebDAV работает поверх HTTP/S, я решил воспользоваться классами HttpWebRequest и HttpWebResponse, которые входят в.NET Framework начиная с версии 2.0. При этом мы будем использовать.NET Framework 4.0 - почему, скажу ниже. Коротко говоря, первый из перечисленных классов представляет HTTP-запрос, второй - HTTP-ответ. Наша задача - правильно сформировать запрос таким образом, чтобы его мог понять WebDAV-сервер. Чтобы узнать, как правильно оформлять запросы WebDAV-серверу, обратимся к документации Яндекса по использованию протокола WebDAV .

Следующим действием напишем небольшую программу, способную выполнить четыре операции: создать папку на удаленном хосте, загрузить объект, скачать объект и удалить объект. Этих операций достаточно для большинства приложений, решающих производственные задачи. Для простоты создадим WinForms-приложение. В паре слов расскажу о своей проге. Она представляет собой консольное приложение, запускаемое батником по расписанию. Ее основное действие - это заливка файлов на удаленный хост, при этом в ее задачи входит корректная обработка маски для выбора файлов, а также обработка путей, по которым они размещены, плюс правильное создание в облаке иерархии папок, подобной размещенной на локальном диске. Кроме того, поскольку программа работает в автоматическом режиме, она создает файл с логами. В нашей сегодняшней программе мы опустим эти действия (очевидно, что они не относятся к теме) и сконцентрируемся на протоколе WebDAV.

Обрати внимание: при создании заготовки проекта за основу лучше взять.NET Framework 4.0. И хотя поддержка WebDAV появилась еще во второй версии, по тестам стало видно, что та же самая программа, перекомпилированная с использованием.NET 4, работает в два раза быстрее, и это касается скорости работы с файлами и их пересылкой.

После создания заготовки приложения размести на его форме четыре кнопки. Первой операцией, которую мы реализуем, будет создание папки (или коллекции). Она самая простая из всех. На заметку: хотя Яндекс.Диск работает по защищенному протоколу HTTPS, папку можно создать по HTTP. Также на форме нам понадобятся четыре поля ввода: для задания адреса удаленного хоста (пока нацелимся на Яндекс.Диск: https://webdav.yandex.ru/), для ввода имени пользователя, пароля (для аутентификации на Яндексе) и ввода имени папки, которую мы хотим создать в облаке (рис. 1). Обрати внимание: адрес сервера надо вводить вместе с указанием протокола, в данном случае https://.

Первым делом в коде подключи пространства имен: using System.Net; - для работы с сетью и using System.IO; - для файлового ввода-вывода. Затем создай обработчик события нажатия на кнопку CreateDir. В него напиши такой код:

String folder = folderEdit.Text; String url = urlEdit.Text; String userName = nameEdit.Text; String password = passwordEdit.Text; url += folder; url = url.TrimEnd(); HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest; request.Credentials = new NetworkCredential(userName, password); request.Method = WebRequestMethods.Http.MkCol; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); HttpStatusCode code = response.StatusCode;

Вкратце обсудим код. В начале для удобства размещаем данные из полей ввода в переменные: имя папки, адрес хоста, имя и пароль юзера. Далее формируем URL-адрес: к адресу хоста прибавляем имя создаваемой папки. Как и у HTTP, у WebDAV есть стандартный номер порта - 443, поэтому его указывать необязательно. Теперь на основе URL мы можем создать объект HTTP-запроса, что делается в следующей строке. После создания надо заполнить некоторые его свойства. То есть необходимо указать такие данные, которые будут переданы серверу в заголовке запроса. Смотрим документацию Яндекса (ссылка приведена выше). В число необходимых параметров входят данные аутентификации. Яндекс принимает эти данные в двух видах: Basic - логин и пароль, QAuth - токен по протоколу QAuth. Мы выберем первый путь. Однако в таком случае данные должны быть закодированы. Это осуществляет объект класса NetworkCredential, конструктор которого получает имя и пароль в виде строк. Созданный объект этого класса присваивается свойству Credentials объекта запроса. Следующей строкой мы сообщаем, какую команду мы хотим выполнить, - MKCOL. В этом случае никакие данные передавать/получать не требуется, и сразу после этого мы отправляем запрос. Далее мы можем посмотреть, какой ответ вернул сервер, в случае успеха ответом будет строка Created. В классе HttpWebRequest определено много ответов на все случаи совместного общения клиента и сервера.

WebDAV-протокол не позволяет создать несколько вложенных папок за один запрос, например /folder1/folder2/; можно создать только одну папку: /folder1/. Если каталог существует, а отправленный запрос пытается создать одноименную директорию, в таком случае сервер сгенерирует исключение, которое надо перехватить конструкцией try/catch. В приведенном выше примере не происходит обработка исключений, поэтому если будешь использовать этот код в своем приложении, то не забудь ее добавить. Если необходимо узнать, существует каталог или нет, то для этого можно воспользоваться запросом PROPFIND, а потом получить и пропарсить ответ сервера, содержащий инфу в формате XML о имеющихся на сервере объектах. Но это получится долго, и, на мой взгляд, лучше использовать запрос MKCOL и в случае присутствия одноименной папки обработать исключение. Таким образом в своей консольной утилите я создаю иерархию папок. Кроме того, если одноименный каталог уже существует, происходит заход в него.

Удаление объекта

Удаление файла и/или директории по протоколу WebDAV реализуется так же просто, как создание коллекции. Для реализации этой задачи послужит приведенный выше код, в котором надо заменить строчку, задающую выполняемый сервером метод, на следующую:

Request.Method = "DELETE";

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

В этом случае также лучше использовать конструкцию try/catch для перехвата исключения, которое может возникнуть по причине отсутствия удаляемого объекта.

Скачивание файла

Чтобы скачать файл из облачного хранилища по протоколу WebDAV, нужно проделать не так уж много манипуляций с имеющимся кодом. Но для начала закинь какой-нибудь файл в облако стандартными средствами (через веб-интерфейс или десктопный Яндекс-клиент). По замыслу, при скачивании файла в четвертое (нижнее) поле ввода мы будем вводить имя файла, который хотим закачать. Это же имя присвоим файлу-результату на локальном компе. Заметь, на сервере мы можем указать /Software/file.txt и будет получен доступ к файлу в папке Software, однако в локальной файловой системе автоматом папка создана не будет, поэтому ее предварительно надо создать. Коротко говоря, мы будем качать файл ZuneSetupPkg.exe (незаменимая тулза для работы с Windows Phone, которую частенько приходится доустанавливать на чужих компах, поэтому она всегда у меня под рукой - в облаке) из корня Яндекс.Диска в директорию с экзэшником.

В обработчике нажатия на кнопку Download после инициализации переменных, создания объекта-запроса и задания полномочий (Credentials) задай тип метода: GET (см. исходник в материалах к номеру). Затем, получив ответ сервера (объект класса HttpWebResponse), объявим переменные для чтения данных:

Int byteTransferRate = 8192;// Размер буфера byte bytes = new byte;// Буфер int bytesRead = 0; long totalBytesRead = 0; long contentLength = long.Parse(response.GetResponseHeader("Content-Length"));

В последней строчке кода читаем из заголовка ответа от сервера размер файла и сохраняем его в переменную. Дальше создаем файловый поток для записи файла на диск:

FileStream fs = new FileStream(fileToDownload, FileMode.Create, FileAccess.Write);

Затем получаем поток от сервера:

Stream s = response.GetResponseStream();

Порциями читаем из него данные и пишем их в файл, пока есть что писать:

Do { bytesRead = s.Read(bytes, 0, bytes.Length); if (bytesRead > 0) { totalBytesRead += bytesRead; fs.Write(bytes, 0, bytesRead); } } while (bytesRead > 0);

После того как все данные записаны в файл, закрываем оба потока и серверный ответ. Во время считывания данных мы увеличивали переменную totalBytesRead на количество считанных байт. В этом случае при отсутствии ошибок размер этой переменной должен стать равным размеру, который мы считали из заголовка, и если это так, то файл скачан корректно и мы выводим сообщение об этом (рис. 2), если же размеры не равны, тогда произошла неудача, об этом мы тоже сообщаем пользователю.

Этот код не лишен исключений, которые надо ловить, среди них: (404) невозможно найти файл (на сервере), невозможно записать в указанное место и многие другие.

Загрузка файла на сервер

Последняя операция, без которой наша утилита будет неполной, - это загрузка файла на удаленный хост. Это самая «хитрая» операция. Обсужденные выше операции не вызвали ни малейшего затруднения, но эта оказалась покруче! Я уже рассказывал, что с реализацией загрузки файла были трудности при использовании других средств разработки. И не все гладко было на C#. Вначале в документации посмотрим, какой запрос для заливки файла ждет Яндекс (рис. 3).

В полноценной программе надо осуществлять закачку сразу нескольких файлов (по желанию юзера), выбор файлов по маске, создание иерархии каталогов и, наконец, обработку ошибок. Мы же, чтобы не толочь воду в ступе, все это опустим и сконцентрируемся на загрузке одного заданного файла, без создания папок и обработки ошибок. Все это оставим тебе в качестве домашнего задания. Итак, в подготовленной мной проге из обработчика нажатия на кнопку вызывается метод UpdateFile, ему передаются имя хоста и имя загружаемого файла, которые берутся из соответствующих полей ввода. Начало самого метода подобно рассмотренным выше, однако теперь в заголовке запроса мы передаем на выполнение сервером команду PUT, то есть выказываем наше желание загрузить файл. Если при выполнении предыдущих запросов мы особо не опирались на документацию, то на этот раз она нам очень пригодится: включим в заголовок запроса все рекомендуемые Яндексом поля, а также некоторые дополнительные. Итак, рассмотрим код заголовка, а потом обсудим траблы:

Request.ContentLength = fileLength; request.KeepAlive = false; request.ReadWriteTimeout = -1; request.Timeout = -1; request.AllowWriteStreamBuffering = false; request.PreAuthenticate = true; request.SendChunked = false; request.ContentType = "application/binary"; request.ProtocolVersion = HttpVersion.Version11; request.ServicePoint.ConnectionLimit = 1; request.AllowAutoRedirect = false; //request.Expect = "100-continue"; request.ServicePoint.Expect100Continue = true; request.Accept = "*/*";

Значения некоторых параметров выведены методом научного тыка. Некоторые свойства зависят от других. Так, лучше отключить постоянное подключение (вторая строчка), ибо при этом генерируется исключение о невозможности одновременной чтения и записи в поток. Следующие два свойства задают тайм-аут для чтения и записи в сетевой поток. Значение -1 означает бесконечность. Размер загружаемого файла может быть неопределенно большим, поэтому мы не можем загадывать на время, которое понадобится для его загрузки. Следующее свойство: AllowWriteStreamBuffering - очень любопытное, оно включает или отключает буферизацию данных перед отправлением. При включении отправляемый файл сначала загружается в память, только после этого выгружается на сервер. Странность этого свойства заключается в том, что на некоторых хостах можно без проблем, отключив буферизацию, залить файл, однако на других будет всплывать исключение о необходимости буферизации. Возможно, это связано с какими-то настройками реестра или связи; не исключаю также различия между сервисами. В случае если буферизация включена и на сервер отправляется большой файл, может не хватить ресурсов (исключение SystemOutOfMemory). В свою прогу можешь добавить флажок для включения и отключения буферизации. Если буферизация отключена, тогда надо включить флаг PreAuthenticate (следующее свойство), с помощью которого данные аутентификации отправляются вместе с заголовком. Следующий параметр SendChunked (только для Яндекс.Диска) позволяет загружать на удаленный хост файлы заранее неопределенного размера, на что Dropbox отвечает исключением. Далее указываем тип передаваемых данных, версию используемого протокола (11 означает 1.1), количество возможных HTTP-подключений: больше одного ни к чему. Запрещаем автоматическое перенаправление. Чтобы задать следующее рекомендуемое поле: “Expect: 100-continue”, включающее ожидание ответа для запроса загрузки, нельзя использовать закомментированное свойство, надо использовать код, который строчкой ниже: request.ServicePoint.Expect100Continue = true;. Последним свойством HTTP-заголовка включается маска для принимаемых объектов, в нашем случае принимаются любые файлы: с произвольным именем и расширением.

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

Итоги

На этом разработка нашей утилиты подошла к концу. В ней мы реализовали весь планируемый функционал - четыре самые нужные команды, без которых не может обойтись ни один менеджер управления файлами на удаленном хосте. Мы не стали привязываться к услугам определенного хостинга, используя его API, мы разработали универсальное приложение, общающееся с сервером по стандартному протоколу WebDAV. Это позволило нашей программе, используя один код, подключаться сразу к нескольким серверам (я тестировал на Yandex.disk и Dropbox). Тем не менее, как мы увидели, разные сервисы несколько по-разному интерпретируют и поддерживают протокол.

Дальнейшее развитие проги предоставляю тебе, по ходу статьи я указал на возможные улучшения: это и загрузка нескольких файлов, и создание иерархии папок, и распараллеливание загрузки, и многое другое. Если копнуть глубже в протокол WebDAV, можно реализовать другие команды для управления контентом на сервере.

На этой ноте я хочу пожелать тебе удачи во всех делах и быть побольше на свежем воздухе:). До встречи на страницах ][!

Чтобы организовать доступ сотрудников, находящихся за пределами предприятия, к внутренним файл-серверам, лучше всего воспользоваться встроенным протоколом Windows XP и Windows Server 2003, Web Distributed Authoring and Versioning (WebDAV), который обеспечивает безопасный доступ через приложение-посредник. Пример такого доступа - защищенный доступ Outlook 2003 к Exchange Server через HTTP-proxy. Реализовать WebDAV просто, так как протокол инкапсулирован в классическом HTML. Поэтому брандмауэры не являются препятствием для использования протокола, который совместим не только с платформой Windows, но и с другими операционными системами, в частности Mac OS. Для защиты WebDAV достаточно применить HTTP Secure (HTTPS).

Рассмотрим этапы подготовки удаленного доступа через WebDAV к папке на внутреннем файл-сервере. Основные компоненты - сервер Microsoft Internet Information Services (IIS) 6.0, файл-сервер, офисное сетевое соединение и клиентские компьютеры. Сервер IIS и файл-сервер не обязательно должны размещаться на одном компьютере. Также необходима система Windows 2003, подключенная к внутренней сети и доступная через Internet. Этот сервер называется WebDAV-сервером, так как он будет работать с IIS 6.0 и серверным модулем расширения WebDAV. Не беда, если WebDAV-сервер еще не подключен к Internet; однако его нужно защитить.

Доступ к серверу WebDAV через Internet

Способ доступа к серверу WebDAV через Internet зависит от текущего состояния среды и размеров предприятия. Обязательное условие - назначить IP-адрес или имя DNS и номер TCP-порта, с помощью которых удаленные пользователи будут обращаться к серверу WebDAV. Рассмотрим типичные сценарии. На малом предприятии единственное устройство, подключенное к Internet, - типовой широкополосный маршрутизатор/брандмауэр, но это не помешает организовать доступ с использованием WebDAV. Необходим IP-адрес, по которому удаленные пользователи будут обращаться к файл-серверу. Во-первых, следует выяснить, имеется ли у маршрутизатора статический IP-адрес. Если нет, то проще всего получить его у Internet-провайдера. Если статический IP-адрес получить нельзя, можно использовать DDNS. Большинство широкополосных маршрутизаторов совместимы с DDNS. Затем нужно решить проблему TCP-порта. Если для доступа к узлам за маршрутизатором уже применяется HTTPS, можно просто сделать в брандмауэре исключение для передачи входящих соединений в TCP-порт 443 внутреннего сервера, на котором выполняется IIS 6.0 с WebDAV. На данном этапе порт открывать не следует; предварительно необходимо убедиться, что внутренний сервер готов к этому.

Если IIS-сервер еще не подключен к Internet, можно назначить файл-сервер WebDAV-сервером.

В более сложной сети, возможно, уже имеется система Windows 2003, подключенная к Internet напрямую или через брандмауэр, как описано выше. Не составит труда задействовать эту систему. Если сервер Windows 2003 уже работает с IIS, например для Microsoft Outlook Web Access (OWA), SharePoint или общедоступного Web-узла, можно создать виртуальный каталог в существующем Web-узле или подготовить новый узел. Различие в том, что при использовании существующего Web-узла для настройки клиентского доступа WebDAV нужно к имеющемуся URL-адресу Internet добавить имя виртуального каталога. Если создан новый узел, то для него может потребоваться новый номер TCP-порта. При доступе к существующему узлу через HTTPS с использованием стандартного HTTPS-порта 443 необходимо выбрать новый порт для клиентского доступа WebDAV. Если существующий узел настроен на использование порта 443, но никто не обращается к нему через HTTPS, можно изменить текущий порт Secure Sockets Layer (SSL). Если использовать в качестве SSL-порта какой-либо порт, кроме 443, то необходимо добавить к URL-адресу номер порта. Например, для домена с именем webdav.ultimatewindowssecurity.com URL-адрес будет https://webdav.ultimatewindowssecurity.com:XXXXX, где XXXXX - номер порта.

Настройка безопасного WebDAV

В следующих поэтапных инструкциях предполагается, что IIS и WebDAV устанавливаются на системе, отличной от файл-сервера. В этом случае достаточно установить IIS без активизации Active Server Pages (ASP) и любых других необязательных компонентов. После установки IIS следует открыть оснастку Internet Information Services (IIS6) Manager консоли Microsoft Management Console (MMC) (см. экран 1), развернуть папку Web Service Extensions и активизировать узел WebDAV. Чтобы максимально сузить поверхность атаки на IIS, не следует активизировать другие модули расширения.

Экран 1. Активизация WebDAV в IIS 6.0

Затем нужно настроить IIS для приема только проверенных, шифрованных соединений. Из оснастки IIS Manager консоли MMC следует открыть диалоговое окно Default Web Site Properties и выбрать вкладку Directory Security (экран 2). Прежде всего необходим сертификат SSL для сервера. Если в компании запущена служба Microsoft Certificate Services для домена, то запросить сертификат можно с помощью мастера. В противном случае потребуется купить сертификат в общедоступном удостоверяющем центре или создать сертификат с собственной подписью. В комплекте ресурсов Microsoft Windows Internet Information Server Resource Kit есть инструмент для генерации сертификатов с собственной подписью. Если имеется корпоративный удостоверяющий центр, необходимо щелкнуть на кнопке Server Certificate и пройти по операциям мастера Web Server Certificate Wizard. На странице Delayed or Immediate Request нужно выбрать пункт Send the request immediately to an online certification authority и щелкать на кнопке Next до тех пор, пока не появится страница Your Site?s Common Name. На ней требуется ввести имя DNS или IP-адрес для обращения удаленных пользователей к Web-узлу. Если введен IP-адрес и используется DHCP с DDNS, то сертификат при изменении IP-адреса окажется недействительным. Не следует указывать https:// или номер порта. В приведенном выше примере с URL необходимо ввести webdav.ultimatewindowssecurity.com. Нажимая Next, нужно перейти к странице SSL Port и ввести выбранный ранее TCP-порт, а затем щелкать на кнопке Next до появления кнопки Finish. После щелчка на ней сертификат SSL будет установлен. Вернувшись на вкладку Default Web Site Properties Directory Security, следует щелкнуть на кнопке Edit в разделе Secure communications, чтобы вызвать диалоговое окно Secure Communications и установить флажки Require secure channel (SSL) и Require 128-bit encryption.

На следующем этапе необходимо потребовать, чтобы все пользователи при обращении к серверу проходили проверку подлинности. На вкладке Directory Security следует щелкнуть Edit в разделе Authentication and access control. Сбросив флажок Enable anonymous access (экран 3), нужно установить флажок Basic authentication (password is sent in clear text). Не обязательно выбирать обычную проверку подлинности, если на предприятии имеются только клиенты Windows. Можно не обращать внимания на предупреждение о простом тексте от IIS - шифрование SSL уже активизировано. Стандартный домен следует настроить в соответствии с параметрами домена, в котором размещены учетные записи удаленных пользователей; в результате пользователям не придется добавлять перед своими именами domain name. Вид диалогового окна Authentication Methods должен быть похож на экран 3.

Настраиваем IIS на общедоступную папку

Всякий раз, когда устанавливается новый IIS-сервер, создается виртуальный каталог на существующем Web-узле или новый Web-узел на имеющемся IIS-сервере; необходимо настроить IIS на соответствующую папку файл-сервера, в которую будут направляться запросы от URL-адреса WebDAV. Если создан узел или виртуальный каталог в существующем узле, то IIS предоставляет возможность указать папку, которая содержит информацию для этого каталога или узла. Поскольку используется экземпляр IIS, выделенный для WebDAV, необходимо только связать корневой каталог выбираемого по умолчанию Web-узла с файл-сервером. В диспетчере IIS Manager следует вернуться к Default Web Site Properties и выбрать вкладку Home Directory, затем установить флажок A share located on another computer и ввести в текстовом поле Network directory путь в формате Universal Naming Convention (UNC) для общей папки, к которой предстоит обращаться удаленным пользователям (экран 4).

Необходимо убедиться, что IIS олицетворяет текущего пользователя перед доступом к файл-серверу. Следует щелкнуть на кнопке Connect As... и установить флажок Always use the authenticated user?s credentials when validating access to the network directory. Чтобы пользователи могли получать, отправлять и просматривать файлы в папке через WebDAV, нужно установить флажки Read, Write и Directory browsing на вкладке Home Directory (экран 4). Эти флажки определяют только операции WebDAV, которые может запросить пользователь. Файл-сервер применяет разрешения NTFS для доступа к файлам так, как будто пользователь подключен локально. Остальные параметры на вкладке Home Directory активизировать не нужно, а параметру Execute permissions следует присвоить значение, обеспечивающее максимально надежную защиту.

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

Активизация пользователей

Теперь остается лишь активизировать удаленных пользователей. Для этого нужно создать ярлык Add Network Place для пользователей, чтобы они могли получить доступ в My Network Places на своих клиентских компьютерах. Затем каждому пользователю необходимо обратиться в My Network Places, дважды щелкнуть на ярлыке Add Network Place и ввести URL-адрес узла WebDAV. При первом обращении к ярлыку в My Network Places программа Windows Explorer запрашивает учетные данные; впоследствии пользователи получают доступ к файл-серверу как к обычной общей папке.

Проблемы безопасности

Насколько безопасен этот метод? Удаленный доступ через WebDAV сопоставим по защищенности с VPN-доступом на основе пароля пользователя. Единственное различие - увеличенная площадь атаки WebDAV из-за открытого порта 443. Однако, чтобы воспользоваться HTTP для проникновения в систему, взломщикам требуется успешно пройти проверку подлинности. Чтобы усилить безопасность, можно внести элемент неизвестности, изменив номер HTTPS-порта Web-узла с 443 на более высокий. Следует иметь в виду, что при этом ограничивается доступ удаленных пользователей, находящихся за брандмауэром другой компании со строгими ограничениями для исходящих соединений. Лучший способ еще более надежно защитить любой тип Web-соединений - требовать клиентские сертификаты наряду с аутентификацией с применением пароля. Для получения сертификата удаленным пользователям достаточно пройти по нескольким Web-страницам.

Рэнди Франклин Смит - редактор Windows IT Pro и ведущий инструктор и разработчик курсов для программы по безопасности Windows NT/2000 института MIS Training. Его компания, Monterey Technology Group, занимается консалтингом в области информационной безопасности. Связаться с ним можно по адресу:



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: