Сообщество русскоговорящих пользователей
CMS DotNetNuke
   Вы здесь:  База знаний » Статья
02.11.2009 19:26:31, Administrator
Защищаем содержимое сайта от ненужных посетителей

Вступление

После создания сайта, мы наполняем его содержимым. Пишем статьи, размещаем файлы, создаем форумы.

На всё это мы потратили свои силы, энергию и время, и конечно-же заплатили деньги за хостинг.

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

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

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

Мы рассмотрим в данной статье поверхностно некоторые важные настройки, а также уделим внимание модулю Form And List, где на конкретном примере покажем управление файлами нашего сайта.

Страница

Страница является главным элементом сайта, так как на ней размещается содержимое.

Заглянем в настройки страницы(Settings).

Опции безопасности лежат под строкой: Permissions. Нам предоставлен список ролей сайта, и для каждой из них, мы можем закрыть или открыть доступ к просмотру страницы, изменив значение в колонке View.

Предположим, что хотим запретить просмотр страницы случайным посетителям - проходимцам.

Для этой цели, убираем все значения в колонке View для всех ролей, кроме Unauthenticated Users. Для последних, - ставим крестик.

Сохраняем изменения.

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

Модуль

А что если мы не хотим прятать страницу, но хотим привлечь к ней интерес посетителя, спрятав однако ее содержимое?

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

Когда мы зайдем в настройки модуля (Settings), то заметим, что в колонке View висят замки.

Первым делом, нам нужно будет избавиться от наследства. Поэтому, снимем галочку с настройки: Inherit View permissions from Page.

Замки сняты. Остается установить нужные нам опции безопасности на модуль.

Ставим крестик в колонке View для роли Unauthenticated Users - проходимцев.

И сохраняем изменения.

Теперь модуль не будет виден для незарегистрированных пользователей.

А что если?

Что если кому-то будет не понятно?

Заходит человек на сайт, и видит пустую страницу. Что он подумает? Подумает что сайт не работает, или находится в разработке, или на сайте ничего нет.

И еще подумает о том, зачем ему вообще регистрироваться на пустом и неинтересном сайте.

Что делать в таком случае?

Привлечь внимание посетителя, высветив для него сообщение.

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

Тогда всё будет намного яснее.

Как это сделать?

1. Вставить на страницу модуль HTML, и написать в нём наше сообщение для проходимцев.

2. Зайти в настройки модуля с сообщением и изменить его опции безопасности, поставив галочку в колонке View, для роли Unauthenticated Users.

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

Файлы

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

Одним из решений, - будет спрятать модуль от посторонних глаз. Но если нам нужно привлечь интерес посетителя, и надавить на него, заставив зарегистрироваться?

Тогда надо прорекламировать наличие файлов. Открыть список, без права скачивания. Как это сделать?

Одним из решений, будет настройка системы безопасности файлов в административной части сайта. Сейчас мы ее рассмотрим.

Заходим в систему управления файлами, в административной части сайта – Admin>File Manager.

Здесь имеются уже знакомые нам настройки или опции безопасности.

Для защиты файлов, нужно убрать все значения с колонки View и поставить крестик для роли Unauthenticated Users, сохранив изменения.

Теперь, если не-авторизованный пользователь кликнет на ссылку чтобы скачать желанный файл, то получит ошибку 404 - файл не найден.

Это решение не очень эстетичное.

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

Библиотека

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

Мы рассмотрим в данном примере модуль Form And List который очень хорошо справляется с этой задачей.

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

Теперь поэтапно.

  1. Создаем страницу Библиотека.
  2. Вставляем на нее модуль Form And List
  3. Модуль требует настройки.

  4. Заходим в настройки модуля.

Как видно, некоторые колонки уже созданы по умолчанию. Мы их не трогаем. В любом случае, они не будут видны в нашем списке.

Создадим новые колонки: Автор, Название, Файл, Клики.

Колонка Автор и Название

Кликаeм на ссылку Add New Column.

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

Сохраняем.

Поля Автор и Название - типа Text, поэтому не требуют дополнительных настроек.

Поле Файл - типа Download. И нам нужно поставить галочку на опцию Display on List, чтобы спрятать ссылку для скачки от проходимцев.

Теперь создадим колонку Клики.

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

Как видно, ее тип - Look-Up. Это означает, что она связанна с другой колонкой списка.

В дополнительных настройках, мы ставим название колонки источника(Source Column), а в Token Text вставляем код того, что нам надо отобразить, в данном случае - клики на файл.

Сохраняем, и готово.

Точно таким-же образом, мы можем отобразить размер файла в дополнительной колонке, по желанию. Также создаем колонку типа Look-Up, источник ставим на колонку Файл, а в Token Text записываем значение: .

Где взять значения для опции Token Text?

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

Мы почти закончили, остался последний штрих.

Выходим из настроек модуля.

Раннее мы были в настройках называемых: Form and List Configuration

Теперь нам надо зайти в настройки которые называются Settings.

Здесь мы поставим галочку в колонке Display All Columns для тех ролей, которые будут иметь доступ к файлам, и для которых колонка Файл будет видна.

Сохраняем, и готово.

Управлять списком файлов очень легко. Достаточно нажать на ссылку Add New Record, чтобы добавить файл.

Заполнить форму, и сохранить.

Теперь колонка с ссылкой на файл будет видна только для зарегистрированных пользователей сайта. Проходимцы не будут видеть эту колонку.

Модуль Form And List обладает еще многими дополнительными, интересными настройками, но данная тема выходит за пределы обсуждаемого в в этой статье.

Автор: codexomega

powered by metaPost
print



rating
  Комментарии

08.11.2009 5:06:09, Shiningman
Класс!
Спасибо за доходчивую и суперполезную статью! Поболее бы таких :)
07.11.2009 17:27:24, Shiningman
Класс!
Спасибо за доходчивую и суперполезную статью! Поболее бы таких :)

 
OpenedBorderBoxed Small width layoutMedium width layoutMaximum width layout Small textMedium textMaximum text