Внедрение Captcha-проверки на OWA 2003 с аутентификацией с помощью форм

Published on Январь 16, 2009 by   ·   Комментариев нет

В данной статье я дам пример внедрения Captcha-проверки на Outlook Web Access 2003 с помощью изменения файла аутентификации с помощью форм logon.asp.

Вступление

Слово “Captcha” означает Completely Automated Public Turing test to tell Computers and Humans Apart (Полностью автоматизированный тест Тьюринга для разделения человека и компьютера) (см. ссылки в конце статьи). Большинство пользователей Интернета встречают такой тест в форме слова на рисунке (обычно искаженного), которое пользователь должен ввести в соответствующее поле для доказательства того, что он настоящий человек, а не робот для спама или иная программа для поиска уязвимостей в сети. На Рисунке 1 изображен пример. Надеюсь, что вы смогли распознать на рисунке слово “summer”.

271

Рисунок 1: Типичный рисунок Captcha-теста

Аутентификация с помощью форм для Exchange 2003 Outlook Web Access обычно сокращенно называемая FBA (Forms-based Authentication) достаточно защищена (в любом случае, роботу нужны верные учетные данные, чтобы пройти ее), но некоторые интересуются, можно ли добавить в этот механизм возможность Captcha-теста. В данной статье я расскажу, как это сделать с помощью изменения файла аутентификации с помощью форм logon.asp. Существует несколько решений для Captcha, но я выбрал свободно доступный сценарий, написанный Джонатаном Фистером, который можно скачать здесь. Данный сценарий имеет преимуществом то, что он не требует второй страницы для получения введенных в форму данных (что невозможно в OWA 2003): все процедуры выполняются на стороне клиента до того, как страница будет отправлена на сервер.

Следует заметить, что данный пример разработан для сервера Exchange 2003 с пакетом обновлений Service Pack 2. Будущие пакеты обновлений могут повлиять на содержимое файла logon.asp, но базовые принципы останутся теми же.

Процедура

Вначале установим скачанные и разархивированные файлы в подходящее место на сервере. Используется два .js-файла и папке с именем cimg с рисунками, которые будут показаны пользователю. Поместите эти файлы в папку C:\Program Files\Exchsrvr\exchweb (Рисунок 2):

281

Рисунок 2: Скачанные файлы в папке exchweb

Далее, найдите в Проводнике файл logon.asp, который ваш сервер отсылает браузеру при регистрации в OWA с помощью FBA. Найдите папку C:\Program Files\Exchsrvr\exchweb\bin\auth\. В ней и хранится файл(ы) logon.asp, используемый(ые) пользователями OWA. Выберите папку с именем, соответствующим языку, который используется клиентами OWA. Например, для англо-говорящих пользователей используется файл logon.asp, содержащийся в папке C:\Program Files\Exchsrvr\exchweb\bin\auth\usa\. Если вы используете несколько языков, вам придется изменить все соответствующие файлы.

Прежде, чем что-либо делать, сохраните копию файла logon.asp. Щелкните по файлу правой кнопкой и выберите Copy (Копировать), затем щелкните правой кнопкой в любом месте папки и выберите Paste (Вставить). Создастся копия файла logon.asp с именем ‘Copy of logon.asp’. Не выполняйте никаких действий до того, как вы сделайте эту копию. Если изменения файла будут неверными, регистрация с помощью форм будет невозможна. Далее, откройте файл logon.asp в Блокноте. Нажмите CTRL-F или F3 для начала поиска и выполните поиск текста </HEAD>. Он должен находиться примерно в трех четвертях от начала файла. Прямо перед тегом </HEAD> вставьте следующий текст (обратите внимание, что JavaScript учитывает регистр клавиатуры):

<script type="text/javascript" language="javascript" src="/exchweb/md5.js"></script>
<script type="text/javascript" language="javascript" src="/exchweb/jcap.js"></script>
<script type="text/javascript" language="javascript">
function doJcap()
{
if (jcap() == true)
{ document.forms[0].action = "/exchweb/bin/auth/owaauth.dll"; return true; }
else
{ return false; }
}
</script>

В моей версии OWA (и помните, что это может измениться в следующих пакетах обновлений) это выглядит так (Рисунок 3):

29

Рисунок 3: Изменение файла logon.asp

Далее, нажмите CTRL-F и выполните поиск строки <FORM (обратите внимание, что закрытой скобки нет). Между словом FORM и action вставьте следующий текст:

onsubmit="return doJcap();"

Затем удалите определение действия в теге <FORM> путем удаления строки action=»/exchweb/bin/auth/owaauth.dll» (будет восстановлено после успешного ввода слова на рисунке). Несколькими строками ниже вы увидите еще один тег <FORM> . Измените строки с параметрами onsubmit и action. Эта часть файла должна выглядеть примерно так (Рисунок 4):

30

Рисунок 4: Изменение тегов FORM

Сразу после второго тега <FORM> вы видите такую строку:

<% End If %>

Сразу после нее вставьте следующий текст:

<center>
<script language="javascript" type="text/javascript">cimg()</script><br>
<noscript>[This resource requires a Javascript enabled browser.]</noscript>
<font color="white" size="2"><b>Enter the code as it is shown above:</b><br>
<input type="text" name="uword" id="uword">
</center>

(См. Рисунок 5). Это поместит рисунок в верхней части страницы, а сразу под ним будет находиться поле для ввода. Если вы знакомы с HTML, вы можете поэкспериментировать для того, чтобы добиться более интересного расположения.

31

Рисунок 5: Изменения в файле logon.asp

Вот и все, что касается файла logon.asp. Можете сохранить его и закрыть Блокнот. Теперь необходимо сделать небольшое изменение в файле jcap.js, который был сохранен в папке C:\Program Files\Exchsrvr\exchweb. Щелкните правой кнопкой по файлу jcap.js и выберите Edit (Редактировать). Откроется Блокнот. В строке, начинающейся var imgdir, следует изменить путь к папке внутри папки exchweb. Измените ее таким образом:

var imgdir = "/exchweb/cimg/";

Вся строка должна выглядеть так (Рисунок 6):

321

Рисунок 6: Определение пути к файлам рисунков

Сохраните файл. Все готово. В следующий раз при открытии страницы регистрации FBA, она будет выглядеть примерно так, как на Рисунке 7. Здесь также показано сообщение предупреждения при несоответствии введенного текста тексту на рисунке.

331

Рисунок 7: Измененная страница регистрации FBA

Учтите, что версии файла logon.asp могут отличаться от того, что показано в статье, но основные принципы остаются одинаковыми. Ссылки на внешние сценарии располагаются между тегами <HEAD> и </HEAD>; изменения требуют два тега <FORM> (один для версии Premium и один для версии Basic клиента OWA); рисунок и поле ввода могут находиться в любом месте между открывающими (<FORM>) и закрывающим (</FORM>) тегами.

Источник  http://www.msexchange.org

Geht auf den gegensatz von kapital und lohnarbeit ein und formuliert als hausarbeit schreiben ziel des klassenkampfes die aufhebung des privateigentums
















Смотрите также:

Readers Comments (Комментариев нет)




Да человек я, человек! =)




Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]