2012-02-08 4 views
1

Я играю с сервлетами и jsp. Я хотел создать простое приложение. При входе будет страница входа. Пользователь может ввести свой логин/пароль или зарегистрироваться. Мне было интересно, если я хочу, чтобы пароль был «перехвачен», следует ли использовать https? Или есть другой способ защитить пароль на уровне приложения?Безопасность для страницы входа (с использованием сервлета/JSP)

Если это единственный способ, можно ли ограничить доступ к приложению только с https? (Я использую Tomcat, если это уместно).

ответ

2

Вам нужна безопасность для данные в движении и данные в состоянии покоя. Поэтому вам нужно и. На транспортном уровне это SSL (HTTPS), а на уровне постоянства вы обычно hash the password with a salt, и при отображении вы явно хотите, чтобы mask введенный пароль.

+0

Спасибо за быстрый ответ :) – Andna

1

Если я хочу, чтобы пароль был «перехвачен», следует ли использовать https? Или есть другой способ защитить пароль на уровне приложения?

Да, HTTPS предназначен именно для этой цели. Нет, нет других способов, когда вы хотите использовать HTTP. Чтобы настроить HTTPS на Tomcat, прочитайте Tomcat SSL Configuration HOW-TO.


Если это единственный способ, можно ограничить доступ к приложению только с HTTPS? (Я использую Tomcat, если это уместно).

Да, это возможно. При использовании аутентификации, управляемой контейнером, вы можете принудительно установить это, установив транспортную гарантию на CONFIDENTIAL в web.xml. См. Также Java EE 6 tutorial - Securing web applications. Tomcat здесь неактуальен, вам нужно только убедиться, что он поддерживает HTTPS, как было сказано ранее.

<security-constraint> 
    ... 
    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 

Если вы однако homegrowing аутентификации, то вам нужно реализовать пользовательские filter, который проверяет, если ServletRequest#isSecure() возвращает false и отправляет переадресацию на соответствующую схему HTTPS URL.

+0

Спасибо за быстрый ответ :) – Andna

Смежные вопросы