Почему мы не видим много AJAX в безопасных приложениях, таких как интернет-банкинг? - PullRequest
17 голосов
/ 06 октября 2010

Может ли кто-нибудь перечислить со ссылками / доказательствами, если это возможно, почему мы не видим много AJAX в безопасных веб-приложениях, таких как интернет-банкинг?

Например, в интернет-банке есть список вкладок для Счета, платежи, инструменты, отчеты . Обычно вы видите их реализованными в виде ссылок на разные страницы. Почему вы не можете просто создать одну страницу и использовать AJAX для загрузки содержимого разных вкладок? (например, элемент управления JSF RichFaces)

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

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

Мы разделены использованием одной страницы и использованием AJAX для всего остального

или

Использование AJAX только там, где это действительно помогает пользователю.

Ответы [ 6 ]

20 голосов
/ 06 октября 2010

Ajax может улучшить удобство использования, но добавляет сложности.

Банки нуждаются в безопасности.

Сложность - враг безопасности.

Поэтому Аякс - враг Банков ;)

5 голосов
/ 06 октября 2010

У меня есть контрпример для вас.Я бы сказал, что mint.com относится к той же категории, что и сайты интернет-банкинга, и они активно используют Ajax.Я бы также рискнул предположить, что их безопасность лучше, чем у большинства банков, но у меня нет доказательств этого.Банки просто «чувствуют», что их связывают высокоплачиваемые консультанты, а не разработчики, которые знают, что они делают.Mint является довольно недавним стартапом, и их дизайн сайта все еще показывает тот контроль, который имеют / имели разработчики.

2 голосов
/ 06 октября 2010

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

Некоторые вещи, которые следует учитывать:

  • Большинство банков очень старые. Они были вокруг с начала 1900-х, а некоторые даже раньше. Редко можно найти банк, который только начал 5 лет назад. Эти банки начинали с систем ручек и бумаги, и поэтому они постепенно вступают в цифровую эпоху. Это резко контрастирует с бизнесом, который начал свою деятельность в Интернете, таким как Facebook.

  • Когда вы работаете в банке, вы хотите нанять «лучших и самых умных» программистов, чтобы ваша система была эффективной и безопасной. Проблема в том, что люди, которые владеют банками, обычно не знают различий между MSWord и WordPad. По этой причине должности программистов для банковского программного обеспечения обычно предлагаются кандидату с «наибольшим опытом ведения бизнеса». Или, в реальном мире, самый старый. Прислушайтесь к фактам - с возрастом вы перестаете идти в ногу с современными тенденциями, такими как AJAX. Я не удивлюсь, если половина серверной части банка будет закодирована на Java

  • Банки хотят, чтобы все было просто, чтобы "это просто работало". Как вы думаете, почему во время штормов отключается электричество, а вода в раковине всегда работает? Простейшие системы реже всего выходят из строя. Если вы увеличиваете сложность, вы увеличиваете количество вещей, которые могут пойти не так. Даже если это проверенная система, которая никогда не выходила из строя раньше, это дополнительные детали, и это вызывает дополнительное беспокойство.

  • Хотя мой банк действительно не может ничего сказать здесь (поскольку некоторые компьютеры не имеют Flash, а некоторые iDevices даже не позволяют его), многие банки могут отказать в обязательном использовании javascript просто потому, что не все браузеры поддерживают это или можно отключить. Если миссис Пиггсворт, 80-летняя библиотекарь по улице, хочет получить доступ к своему банковскому счету из своего Pentium I 1992 года, она, безусловно, не будет делать это на чем-то более новом, чем Internet Explorer 3

Кроме того, я не уверен, что AJAX и SSL хорошо играют. Я хотел бы разобраться в этом.

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

2 голосов
/ 06 октября 2010

Я бы сказал, что главная причина в том, что банки, как правило, очень технологичны / скрыты Нередко можно найти банковский сайт, который рекомендует или даже требует использования IE6.

1 голос
/ 06 октября 2010

Есть несколько организаций, которые отстают в технологиях примерно на 10 лет: банки, страховые компании и правительства.В качестве доказательства просмотрите список клиентов для компаний, которые занимаются только «модернизацией» (то есть преобразованием компаний из старых систем COBOL в Java / .NET и т. Д.), Например this .

На это есть веские причины:

  1. В этих учреждениях сложнее измениться, в основном из-за замысла (быстрые изменения => ошибки => большие проблемы)
  2. Контроль качества зачастую гораздо более эффективенЭто связано с тем, что искажение даже ошибки округления может вызвать огромные проблемы.
  3. Если не существует очевидного денежного стимула, статус-кво, как правило, является "приемлемым" достаточно, чтобы не допустить ссор.*

... и на то есть веские причины:

  1. Обычно это крупные учреждения с большим уровнем одобрения и бюрократизмом
  2. Меньше людей на самом деле заботятся
0 голосов
/ 06 октября 2010

Поскольку единственная проблема с javascript - отсутствие защиты.

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

Из-за того, что Javascript является языком сценариев, его можно редактировать и возвращать на сервер с / без пользователязнания (или межсайтовые проблемы), то нет никакой уверенности в том, что информация возвращается.

Когда вам нужны модные виджеты и «вещи», теперь вы потенциально сериализуете объекты и используете Eval (), чтобы что-нибудь сделать(Я смотрю на вас GWT).

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

...