Почему https только используется для входа в систему?

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

я закончил тем, что писал следующее:

def assert_error(e, x):
    try:
        e(x)
    except:
        return
    raise AssertionError()

def failing_function(x):
    raise ValueError()

def dummy_function(x):
    return x

if __name__=="__main__":
    assert_error(failing_function, 0)
    assert_error(dummy_function, 0)

И это перестало работать на правильной строке:

Traceback (most recent call last):
  File "assert_error.py", line 16, in <module>
    assert_error(dummy_function, 0)
  File "assert_error.py", line 6, in assert_error
    raise AssertionError()
AssertionError
6
задан Community 23 May 2017 в 11:45
поделиться

6 ответов

Производительность - не единственная проблема. Если вы собираетесь использовать HTTPS, вам действительно нужно убедиться, что весь ваш контент, включая сторонние изображения и библиотеки, доступен через HTTPS. В противном случае вы будете генерировать раздражающие сообщения смешанного содержания в IE:

http://blog.httpwatch.com/2009/04/23/fixing-the-ie-8-warning-do-you-want-to-view -only-the-webpage-content-that-was-delivery-securely /

Это также означает, что вам потребуются отдельные сертификаты SSL для каждого имени хоста, которое вы используете (например, images.example.com) или какой-то SSL-сертификат wild card (например, для * .example.com).

Тщательно настроенный сайт должен лишь слегка пострадать от ЦП клиента и сервера, использующего HTTPS:

http://blog.httpwatch.com/2009/01/15/https-performance-tuning/

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

HTTPS-соединение можно использовать где угодно. Он просто передает все данные с помощью SSL (TLS), который является формой публичного / частного и симметричного шифрования. Это очень затрудняет расшифровку данных, отправляемых на сервер и с сервера.

Из-за затрат на шифрование и дешифрование данных, он (в некоторых случаях) не используется там, где конфиденциальные данные не передаются. Не использовать его просто снижает нагрузку на сервер. Его всегда следует использовать, когда необходимо передать конфиденциальные данные. Если вы вводите (например) данные кредитной карты, убедитесь, что используется протокол https, а не http.

6
ответ дан 8 December 2019 в 14:45
поделиться

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

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

Проще говоря, вы используете HTTPS для передачи защищенной информации. Таким образом, информация о кредитной карте и пароли будут использовать HTTPS для их защиты. Сравните это с бронированной машиной, на которой заключенных из окружной тюрьмы доставляют в государственную тюрьму. Но как только эта информация окажется в нужном месте, можно использовать простой токен для ссылки на информацию без дальнейшего раскрытия. Когда вы входите в систему, безопасное соединение генерирует идентификатор сеанса, который будет действителен в течение 10-20 минут до истечения срока его действия. Хотя есть риск, что кто-то перехватит этот идентификатор сеанса, этого все же недостаточно, чтобы полностью захватить вашу информацию. У хакера будет лишь короткое время, чтобы злоупотребить этим идентификатором. Таким образом, с сессиями меньше риска, чем с паролями. То же самое с информацией о кредитной карте. Как только сайт узнает номера ваших кредитных карт, он может просто спросить вас, хотите ли вы использовать карту 1, карту 2 или другую. Он просто присваивает каждой карте идентификатор, который обычно представляет собой число от 1 до количества имеющихся у вас карт. Если кто-то прочитает это, они знают, что вы платите 49,95 доллара с помощью карты 1. Однако они все еще ничего не знают об этой карте.

Вещи, которые необходимо защитить, отправляются с броневиками или HTTPS. Все остальные могут использовать любой другой вид транспорта.

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

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

Остальное, конечно, можно проанализировать, если оно не зашифровано, но это будет только в "режиме чтения" ", хакер не сможет ничего изменить. Однако, получив логин / пароль, он это сделает.

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

-2
ответ дан 8 December 2019 в 14:45
поделиться

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

Мне это кажется неправильным.

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

3
ответ дан 8 December 2019 в 14:45
поделиться
Другие вопросы по тегам:

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