2009-04-27 1 views
0

Я пытаюсь научиться защищать веб-форму. Простой пример: контактная форма, имя, телефон, электронная почта. Я нашел это:Как я могу служить в веб-форме и отправлять ответ по электронной почте безопасно?

Secure Email Techniques

Но я не знаю, если это правильный путь. Это не общий хостинг, если это имеет значение, и у меня есть полный доступ ко всему. Я привязан к IIS 6 и Windows 2000 на данный момент, поэтому мне, вероятно, придется использовать asp.net 2.0, но при необходимости можно использовать другие языки (которые могут работать в IIS.)

Я хочу иметь возможность заполните форму и отправьте ее на следующий следующий шаг (я не знаю).

Кроме того, я использую порт 443 для порта формы?

EDIT: Только так я поняла. Сожалею. Мне нужен весь процесс безопасности. Это не только безопасное получение исходной формы. Мне нужны данные из формы безопасно после ее ввода.

EDIT: Я не был достаточно ясен. Когда у меня есть данные от пользователя, который я получил через 443 и SSL, я хочу, чтобы эти данные были отправлены мне через Интернет по электронной почте. Можно ли это сделать безопасно? Или, лучше всего, чтобы мой SSL, получить данные над этим, а затем пользователь, который рассматривает эту информацию (секретарь, независимо), использует тот же самый сокет SSL, только с приложением просмотра?

Любая помощь приветствуется. Спасибо.

+0

Пока пользователь использует https, все данные на сервер и с сервера зашифровываются. –

ответ

2

Если у вас установлен SSL для этой страницы, это большая часть реальной части PITA выполненной работы. Пользователь может подключиться к порту 443, все данные, которые они вводят, будут безопасными.

Тем не менее, что большинство людей не имеют ответил, что это передача данных по электронной почте, транспорт большей части которой не может быть гарантирован безопасным - [Я не знаю, насколько заслуживает доверия эта ссылка, но стоит читать никогда -the-less: http://ask-leo.com/just_how_secure_is_email_anyway.html], поэтому вам придется зашифровать данные с помощью какой-либо формы шифрования. Возможно, шифрование с открытым/закрытым ключом - возможно, RSA или подобное. Шифруйте данные с помощью открытого ключа, присоедините его к письму и отправьте его по электронной почте. Затем получатель электронной почты использует закрытый ключ для дешифрования данных.

Если вы используете функцию mailto формы, настало время заполучить руки, поскольку вам, вероятно, понадобится сделать некоторые кодировки. Насколько мне известно [и кто-то, пожалуйста, исправьте меня, если я ошибаюсь], IIS не имеет возможности шифровать данные, отправляемые по электронной почте, главным образом потому, что у получающей программы электронной почты, вероятно, не будет возможности расшифровать данные , что означает, что вам нужно указать алгоритм шифрования, любые ключи, метод привязки и т. д.

многочисленные библиотеки, которые вы можете использовать для обработки. Вы не упомянули, программируете ли вы сами или нет, и не подразумеваете ли вы язык программирования, но поскольку вы, кажется, используете технологии Microsoft, я укажу вам на сайт Microsoft в качестве ссылки:

http://msdn.microsoft.com/en-us/library/5e9ft273.aspx

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

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

+0

Я начинаю думать, что просмотр через порт ssl будет лучше, чем отправить его. – johnny

+0

Скорее всего, я склонен согласиться с вами, это гораздо меньше работает ... вы могли бы эффективно использовать ту же страницу, что и для административного использования. – BenAlabaster

1

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

0

Сертификат SSL будет работать на вас. Вам необязательно покупать их, потому что они могут быть «самозаверяющимися», хотя в ваших приложениях появится одно из этих окон, в котором говорится, что сертификат недействителен. Но даже несмотря на то, что сертификат недействителен, он все равно будет предоставлять такое же шифрование, которое предоставляет подписанный сертификат.

Если используется протокол HTTPS, то клиенты веб-браузер будет автоматически пытаться подключиться к веб-серверу через порт 443.

0

Вам нужен сертификат SSL для вашего сайта. Убедитесь, что ваши данные безопасны, убедитесь, что ваше действие формы https: //

0

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

Также старайтесь дезинформировать свои входные данные, прежде чем что-либо делать с этим, это предотвратит SQL-инъекцию, XSS и другие. Некоторые языки, такие как ASP.NET, выполняют эту задачу по умолчанию, но если вам нужно ее закодировать, это не такая сложная задача. С этими двумя путями начинается больше способов, и 95% работы будет выполнено.

Если вам нужно какое-либо другое предложение, дайте мне знать.