Программирование >>  Руководство по созданию web приложений 

1 ... 125 126 127 [ 128 ] 129 130 131 ... 141


р name Р*

s.Ki numl.);i c:;i[Kx,l

Рис. 9-3. Ввод номера кредитной карточки в окне аплета

Аплет для передачи номера кредитной карточки

Некоторые : ... . компании предлагают г mm \i клиентам систему бе-

зопасного ввода . , : о кредитных карточках, реализованную на базе .iiii.H.n.iB Java. Их работа основана на шифровании на стороне клиента . . . : о карточке, . : покупателем. Нри этом аплет шифрует . пе-

ред передачей ее через сеть, а приложение, работающее на сервере

iipuherciiiiioiMiii компании, получает се и расшифровывает.

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

Еще один безопасной . номера кредитной карточки связан с

использованием протокола HTTP. Нри этом информация шифруется

средствами а расшифровывается на стороне сервера Web. Но и этот

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

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

Однако, если Вы решили создать собственное средство защищенной передачи критичной через Интернет, то мы настоятельно рекомендуем выполнять : . ; с использованисм каких-либо известных и хорошо про-методов. В Интернете немало доступных исходных текстов криптографических . . созданных на основе серьезных математических исследований. Что же касается самодельных криптографических систем, то, скорее всего, они не смогут противостоять серьезным попыткам дешифрования.



Рис. 9-4. Информация о кредитной карточке, полученная от расширения ISAPI

Реальная система передачи номера кредитной карточки обязательно шифрует ; ; . . передачей се на сервер. При этом аплет, гпиф-

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

связь с сервером компании с сокетов и получит

ключ через этот

Расширение сервера Web в реальной системе должно ; ; получен-

ную информацию и выполнить платежную операцию через сервер банка.

Для разработки программных модулей, выполняющих все описанные операции, необходимо привлекать специалистов процессинговой компании или банка (если Вы создаете сервер процессинговой компании). Поэтому мы не станем описывать этот процесс более подробно, а займемся исходными текстами аплета, выполняющего обмен данными с расширением сервера Web. Полный нахслны!} текст аплета Вы найдете в листинге 9-2.

Листинг 9-2 хранится в файле c:hiS,CreclitCarcJ,Cre£litCarcl.ja¥8 на прилагаемом

к книге компакт-диске.

Инициализация аплета

При инициализации аплета метод init вначале создает все необходимые компоненты и устанавливает режим размещения tfName - new

кМйшб = ne\N . .

tf Пишет = new .: :

itiNuibe! = new - - uemr ):

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

Внешний вид аплета CreditCard показан на рис. 9-3. ; ввода информации о кредитной карточке посетитель кнопку ОК. При этом данные из полей формы ввода будут переданы расширению сервера Web, созданному нами в виде приложения ISAPI. Это приложение извлечет данные формы и отправит их обратно аплету. Аплет отобразит строку, принятую расширением ISAPI, в диалоговой . показанной на рис. 9-4.



= new

btnOK new

= new

= new

GridBagConstraints с = new

Далее метод init устанавливает параметры размещения отдельных компонентов и добавляет их в окно . ; . . используется техника, нами ранее в этогт главе при создании аплета GridBag.

Отправка данных раси]ирению сервера Web

Когда пользователь щелкает кнопку ОК, управление передается методу action-Perforraed. Рассмотрим выполняемые имдезгствия.

Прежде всего, этот метод извлекает данные из компонентов, размещенных в окне аплета. Данные оформляются в виде текстовозг строки параметров ка расширения ISAPI с именем i как это показано ниже-;

и ll(>w : . . : oin/lscsh

ижк= + tfNiiii. get Text I i +

+ -ь ... +

4ехрт=- + tfExpl ration. setTiixT() ♦

>

catch(Exception iae)

String

При этом создается новьш объект класса URL, представляющизг собозг а : . запускаемого расширения ISAPI. Все операции выполняются в блоке try-catcli, так как при работе : могут возникать ошибки, связанные, на-

пример, с разрывом связи между браузером покупателя и сервером.

Далее мы создаем канал связи с расширением .1 как объект класса URLCon-

С помощью методов satOaClatpat и aatOolapat ддя канала разрешается нение операциг! вывода и ввода соответственно.



1 ... 125 126 127 [ 128 ] 129 130 131 ... 141

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика