Что произойдет с Braintree.js, если Javascript отключен?

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

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

Что происходит, когда Javacript отключен в браузере пользователя?

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

Редактировать: Просто для ясности: я полностью осведомлен о том, как Javascript работает в браузере и т. д. Этот вопрос более конкретно касается того, что происходит с самим Braintree API и доступными в нем параметрами.


person Shea Daniels    schedule 29.08.2013    source источник
comment
Без поддержки браузера JS никакой JS не будет работать.   -  person doogle    schedule 29.08.2013
comment
Шифрование JavaScript небезопасно. Положитесь на использование https.   -  person Halcyon    schedule 29.08.2013
comment
@FritsvanCampen, это дополнительный уровень защиты, а не замена. Это особенно полезно, потому что данные могут быть зашифрованы с помощью открытого ключа, и только Braintree может расшифровать их с помощью своего закрытого ключа.   -  person Brigand    schedule 29.08.2013
comment
Неважно, JavaScript небезопасен в точках входа и выхода. Если вы выполняете шифрование, ввод для вашего шифрования должен быть где-то на странице или загружен через AJAX, оба могут быть перехвачены. Безопасность это не снижает, но и ничего не добавляет.   -  person Halcyon    schedule 29.08.2013
comment
@FritsvanCampen Шифрование, выполняемое Braintree.js, предназначено для соблюдения требований, а не для обеспечения безопасности. HTTPs, которые он использовал для защиты данных.   -  person agf    schedule 29.08.2013
comment
Шифрование на стороне клиента предназначено для уменьшения проблем с соответствием PCI, но не обязательно для повышения безопасности. Решение по-прежнему использует HTTPS для защиты от посторонних глаз.   -  person Shea Daniels    schedule 29.08.2013
comment
Поскольку ваш вопрос касается конкретно API Braintree, попробуйте сами или обратитесь в их техническую поддержку. Не по теме переполнения стека.   -  person meagar    schedule 29.08.2013
comment
@SheaDaniels Я работаю в Braintree. Я уверен, что вы знаете, что большинство сайтов электронной коммерции не работают без Javascript, поэтому люди с отключенным Javascript привыкли включать его для совершения покупки. Тем не менее, я не уверен, что понимаю ваше редактирование. Если вы отправляете форму на свой сервер и не получаете никаких полей кредитной карты, вы знаете, что Javascript не работает, и вы можете решить, что делать дальше. Вам не нужно отправлять данные в Braintree, чтобы узнать, что Javascript отключен. Если это ответит на ваш вопрос, я перенесу это в ответ.   -  person agf    schedule 29.08.2013
comment
@meagar Здесь много, много вопросов об отдельных API / платформах, от App.net до Twilio. Многие из них касаются гораздо более узких/непонятных аспектов своих API, чем этот вопрос. Я вообще не понимаю, как это не по теме.   -  person agf    schedule 29.08.2013
comment
@agf Существующие вопросы не по теме не оправдывают дополнительные вопросы не по теме. Поддержка сторонних API не по теме.   -  person meagar    schedule 29.08.2013
comment
@meagar Можете ли вы привести источник? Взаимодействие с внешними веб-сервисами — огромная часть моей работы и работы многих других программистов, и это всегда обсуждалось здесь.   -  person agf    schedule 29.08.2013
comment
@agf Я понимаю это, но как государственная служба у нас нет возможности просто игнорировать граждан, если у них это отключено. Давайте попробуем свести это к следующему: если я обнаружу, что javascript отключен, доступна ли еще опция резервного копирования, такая как прозрачное перенаправление?   -  person Shea Daniels    schedule 29.08.2013
comment
@Shea: Если вы обнаружите, что JS отключен, отправьте сообщение о том, что JS требуется для соответствия требованиям PCI и их собственной безопасности.   -  person Lawrence Dol    schedule 29.08.2013
comment
@SheaDaniels Прозрачная переадресация по-прежнему доступна. Тем не менее, вы должны где-то провести черту, включая правительства. Вы не можете поддерживать всех. Большинство сервисов рисуют эту линию, как минимум, при IE ‹ 6 и отключенном Javascript.   -  person agf    schedule 29.08.2013
comment
@agf Я согласен, что есть очередь, но она зависит от приложения и клиента. Для простого государственного платежа я действительно не вижу необходимости включать JS. Я знаю это, потому что сейчас все работает отлично. Если JS улучшает качество опыта, то мы можем улучшать его с его помощью, но требовать его — это просто лень с нашей стороны. Эта статья устарела, но я думаю, что она объясняет некоторые причины, по которым люди могут отключить его bit.ly/tus4Ra< /а>   -  person Shea Daniels    schedule 29.08.2013


Ответы (1)


Любой JavaScript на странице абсолютно ничего не сделает, если JavaScript не включен.

Один из вариантов — настроить вашу страницу так, как будто JavaScript не существует. Затем попросите JavaScript удалить старые школьные вещи со страницы и загрузить версию JavaScript.

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

По моему личному мнению, поскольку ни один браузер не отключает JavaScript по умолчанию, эти пользователи отказываются от большого количества услуг и возможностей в Интернете. Даже программы чтения с экрана включают JavaScript в 98,5 % случаев (2011 и < href="http://a11yproject.com/posts/myth-screen-readers-dont-use-javascript/" rel="nofollow">2013 исследования/опросы).

person Brigand    schedule 29.08.2013
comment
Спасибо за ответ, но я ищу что-то более конкретное для Braintree API. Я знаю, как сделать прогрессивное улучшение кода, который я пишу, но это сторонний API. Меня больше интересует, есть ли запасной вариант, например, использование старого прозрачного перенаправления, если JS отключен. Я действительно не хочу никого оставлять в стороне, так как это государственная услуга для граждан. - person Shea Daniels; 29.08.2013
comment
Ах хорошо. Что ж, может быть лучше связаться с ними напрямую и поделиться своими выводами здесь. Я не вижу ничего в их документах об этом. Возможно, вам придется сделать это самостоятельно или убедить их реализовать это как функцию. - person Brigand; 29.08.2013