Убираем авторизацию пользователя у веб-сервиса

Капча

Это не является проблемой безопасности, но частенько раздражает. Если ваш сайт предлагает ввести капчу, автозаполнение надо выключать, так как она всё равно не повторяется. Такое я видел даже в Google:

Убираем авторизацию пользователя у веб-сервиса

Кредитные карты

Наиболее важное место, где следует его использовать — это поле ввода номера кредитной карты. Следует помнить, что браузер запоминает все значения, вводимые в этом поле. К примеру, Firefox 3.5.x это делает в файле formhistory.sqlite в пользовательском профиле, где они лежат в открытом виде.

Установка мастер-пароля в менеджере паролей Firefox не приводит к шифрованию этого файла, и я не нашёл расширений, которые бы это сделали (подскажите, если знаете такие). Я довольно часто пользуюсь веб-шопами и, введя в поиск в моём любимом просмотрщике файлов первые четыре цифры номера своей карточки (которые, кстати, одинаковые для всех карт моего банка), я нашёл пять экземпляров номера карточки под разными именами полей: cc_number, cregit_num, CARDNUM, ctl00$cphBody$txtCardNumber и cardnr.

В пределах видимости в трёх случаях я нашёл cardholder name, в двух случаях expiration date (часто предлагают выбрать из выпадающего списка, поэтому она не всегда запоминается), в четырёх случаях CVV-код. Замечу, что CVV-код нужен не всем шопам, во многих удаётся успешно покупать, не вводя его.

Это означает простую вещь: человеку с намётанным глазом потребуется около двух минут доступа к незаблокированному компу, чтобы утащить номер кредитки, по которой когда-то что-то покупали. Про раздолье для троянов даже нечего говорить. При этом я не вижу простого способа вычистить это разом, не трогая другие поля автозаполнения: нужно искать редактор базы sqllite, поставить аддон для управления формами (например Form History Control — спасибо Source) либо удалять из поля на всех соответствующих сайтах (а кто их помнит?).

Похожее:  О компании – ООО Мегасети

Я временно решил проблему, создав HTML-файл такого содержания:<input type=”text” name=”cc_number”><input type=”text” name=”cregit_num”><input type=”text” name=”CARDNUM”><input type=”text” name=”ctl00$cphBody$txtCardNumber”><input type=”text” name=”cardnr”>Открыв его в браузере, я в каждом поле нажал «вниз» и «удалить». Сразу после этого номера карточки исчезли из formhistory.sqlite.

Если ваш сайт запрашивает информацию о карточке, обязательно добавляйте autocomplete=”off” в поле ввода номера, владельца карты и cvv-кода. Было бы здорово увидеть поддержку и со стороны браузеров. К примеру, расширение для Firefox, которое позволяет выборочно сохранять текст в соответствии с регулярным выражением.

Для номера карточки всё просто: 16 цифр подряд — не сохраняем. Не припомню, чтобы я вводил ещё какие-то 16-значные числа, которые бы я хотел запомнить в автозаполнении. Шифрование данных автозаполнения с использованием мастер-пароля было бы также уместно.

Собственное автозаполнение

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

Убираем авторизацию пользователя у веб-сервиса

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

В целом мораль: для каждого текстового поля, которое вы создаёте, на автомате прикидывайте, будет ли пользователю польза от автозаполнения в этом поле. Если нет, то отключайте. Кстати, автозаполнение по умолчанию можно отключить для всей формы, используя <form autocomplete=”off”>, а затем при необходимости включить для отдельных полей.

Убираем авторизацию пользователя у веб-сервиса

Механизм Web-сервисов позволяет использовать 1С:Предприятие 8 как набор сервисов в сложных распределенных и гетерогенных системах, а также позволяет интегрировать 1С:Предприятие 8 с другими промышленными системами использованием сервисно-ориентированной архитектуры.

Публикация веб-сервисов выполняется через конфигуратор, для этого нужно открыть окно Публикация на веб-сервере, нажав Администрирование -> Публикация на веб-сервере…

Процесс публикации описывать не буду, для каждого случая он свой, но обычно достаточно выбрать веб-сервер, указать каталог публикации и нажать на кнопку Опубликовать.

Послу публикации в указанном каталоге создастся файл default.vrd. Его содержимое будет примерно таким:


<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/DemoSSL"
ib="File=&quot;C:1сБиблиотекаСтандартныхПодсистемDemoSSL&quot;;">
<ws>
<point name="Exchange"
alias="exchange.1cws"
enable="true"/>

<point name="Exchange_2_0_1_6"
alias="exchange_2_0_1_6.1cws"
enable="true"/>
<point name="InterfaceVersion"
alias="InterfaceVersion.1cws"
enable="true"/>
<point name="MessageExchange"
alias="messageexchange.1cws"
enable="true"/>
<point name="MessageExchange_2_0_1_6"
alias="messageexchange_2_0_1_6.1cws"
enable="true"/>
<point name="RemoteAdministrationOfExchange"
alias="RemoteAdministrationOfExchange.1cws"
enable="true"/>
<point name="RemoteAdministrationOfExchange_2_0_1_6"
alias="RemoteAdministrationOfExchange_2_0_1_6.1cws"
enable="true"/>
</ws>
</point>

Создадим пользователя 1С с логином User и паролем 123456, от имени которого в дальнейшем будет происходить автоматическая авторизация.
Замечено, окно авторизации корректно работает с логином, написанным на латинице, иначе может появится ошибка:


<html>
<head><title> A server error occurred. </title></head>
<h1> а?б?б?аЕаНб?аИб?аИаКаАб?аИб? аПаОаЛб?аЗаОаВаАб?аЕаЛб? аНаЕ аВб?аПаОаЛаНаЕаНаА.   </h1>
<hr/>
An error occurred processing this request.</html>

Допустим, необходимо, что бы веб-сервис exchange.1cws не требовал авторизацию. Для этого из файла default.vrd удаляем информацию о данном веб-сервисе, то есть удаляем строчки:
<point name=”Exchange”
alias=”exchange.1cws”
enable=”true”/>

Создаем рядом с файлом default.vrd файл с именем exchange и расширением 1cws (exchange.1cws). Откроем файл текстовым редактором, укажем кодировку UTF-8 без BOM и запишем следующие строчки:

<?xml version="1.0" encoding="UTF-8"?>
<service
namespace="http://www.1c.ru/SSL/Exchange"
name="Exchange"
connectString="File=&quot;C:1сБиблиотекаСтандартныхПодсистемDemoSSL&quot;;usr=&quot;User&quot;;pwd=&quot;123456&quot;"/>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *