我已經實現了一個例程,當用戶提交表單時,一封電子郵件會發送給管理員。爲此,我使用了Java Mail API。我在Microsoft Outlook上設置了一個虛擬帳戶來發送電子郵件。在代碼中,我已經對密碼進行了硬編碼。我擔心這將是一個安全問題,當我主持的網頁。在Java Web應用程序中存儲密碼變量的不同方法?
這是我的代碼。
我寫了一個私有函數:
private void getSession(){
this.session = Session.getDefaultInstance(properties,
new javax.mail.Authenticator() {
protected PasswordAuthentication
getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]", "xxxxx_password_xxx");
}
});
}
在我的公開方法我稱之爲getSession()
方法和產生的消息。
public String execute() throws Exception {
getSession();
Message message = new MimeMessage(this.session);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("[email protected]"));
message.setSubject("Form submit notification");
//...
}
當我主持網頁時,在會話方法中硬編碼密碼是否安全?
如果沒有,那麼一些指針來實現替代方案。
謝謝!
可能的重複檢查http://stackoverflow.com/questions/8195099/java-how-to-store-password-used-in-application – SoftwareCarpenter 2014-09-21 22:32:02
可以從可執行文件中獲取字符串列表。因此,任何訪問該文件的人都可以獲取這些字符串並猜測密碼。 – cliff2310 2014-09-21 22:47:34