Действительно ли возможно иметь безопасную веб-форму без https сервера?

Вероятно, есть более питонский способ написать это, но вот код, который я написал, используя project-lib , согласно ответу, предоставленному @Greg Filla

files = []  # List to hold data file names

# Get list of all file names in storage bucket
all_files = project.get_files()  # returns list of dictionaries

# Create list of file names to load based on prefix
for f in all_files:
    if f['name'][:3] == DataFile_Prefix: 
        files.append(f['name'])

print ("There are " + str(len(files)) + " data files in the storage bucket.")
6
задан nico_h 5 February 2009 в 14:31
поделиться

8 ответов

В теории Вы могли реализовать своего рода безопасную коммуникацию между клиентом и сервером с помощью JavaScript и XmlHttpRequests. На практике это походит на большую работу и возможности его являющийся быстрым, и истинно защитите, кажутся низкими.

Как Alex говорит выше, хотя, даже если бы Вам удалось реализовать в JS, необходимо было бы все еще служить JS клиенту по небезопасному соединению, поэтому делая все это довольно бессмысленным.

Однако, более сумасшедшие вещи были реализованы в JavaScript прежде...

3
ответ дан 8 December 2019 в 04:10
поделиться

Установка сертификата SSL технически не требует фиксированного IP-адреса - сертификат SSL связывается с именем хоста (общее название). Мы часто изменяли IP-адреса на наших хостах и никогда не изменяли ничего связанного с сертификатами.

Тем не менее Вы могли действительно использовать JavaScript и т.п., но это не действительно хорошее решение - это будет всегда пахнуть как взлом.

12
ответ дан 8 December 2019 в 04:10
поделиться

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

1
ответ дан 8 December 2019 в 04:10
поделиться

Вы могли использовать некоторую форму шифрования с открытым ключом, реализованного в JavaScript:

  • Вы даете стороне клиента форму, Ваш открытый ключ и js библиотеку шифрования
  • На представлении js вталкивает шифрование полезной нагрузки формы
  • Вы дешифруете со своим закрытым ключом

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

5
ответ дан 8 December 2019 в 04:10
поделиться

Это теоретически возможно, если Вы можете управлять клиентом и (например) доверяли JavaScript там, который не загружается с сервера. Я мог уточнить, но что-либо на этих строках - ЛАВАШ и подверженный ошибкам по сравнению с использованием https.

Также не должно быть необходимо иметь фиксированный IP - у Вас есть доменное имя?

1
ответ дан 8 December 2019 в 04:10
поделиться

Как было бы возможно использовать JavaScript? Для браузера для выполнения JavaScript это должно было бы сначала загрузить его с (ранее указанный) небезопасный сервер. HTTPS является протоколом сервера/клиента, поэтому если Вы не можете реализовать с самим сервером, Вы не сможете реализовать его вообще.

Все, в чем Вы нуждаетесь для HTTPS, является единственным IP-адресом, таким образом, не имело бы значения, если бы он изменился. Необходимо смочь использовать HTTPS с динамическим IP, но Вы, возможно, должны были бы говорить со своим hoster. Если Ваш хостинг будет на общем сервере, то он не будет работать, и Вам будет нужен специализированный IP. Они не являются настолько дорогими, поэтому возможно, необходимо ли просто выйти из оболочки $3/4 в месяц?

Alex

0
ответ дан 8 December 2019 в 04:10
поделиться

Не в традиционном смысле, нет но существует несколько опций:

  1. Получите лучший хостинг. У Вас мог быть VPS с фиксированным IP за $20/месяцев. Сертификат за 30$ в год. Довольно дешевый для людей, которым нужна безопасность.

  2. Вы могли зашифровать данные формы с помощью JavaScript и PGP. Это дешево (и это посмотрит он Вашим пользователям), но это должно сохранить Ваши данные достаточно безопасными.

  3. Могли бы быть третьи лица там, которые допускают представление формы через их серверы (и следовательно) их сертификаты. Вы и Ваши пользователи должны были бы доверять им для не злоупотребления данными все же.

4
ответ дан 8 December 2019 в 04:10
поделиться

SSL работает от доменного имени, не IP-адреса. Пока Вы имеете и владеете доменным именем, и имеете поставщика, желающего к открытому порту 443, и устанавливаете сертификат, который Вы покупаете для своего сайта, можно сделать HTTPS.

Однако принятие Вас не может сделать этого, изучить SRP:

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

У них есть JavaScript примеры. Вы использовали бы побочный продукт для шифрования данных по проводу.

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

0
ответ дан 8 December 2019 в 04:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: