在没有https的情况下安全地在login.jsp中传输用户名和密码

问题描述 投票:0回答:2

我有一个struts应用程序,我需要通过http转移用户名和密码。但可以通过按Control + Shift + J查看以纯文本格式传输的用户名和密码。

任何建议如何保护登录数据?也就是说,它不应以纯文本格式显示]

注意-登录凭据已使用数据库和LDAP进行验证

预先感谢!

java jquery jsp struts2 struts
2个回答
2
投票

您可以对密码进行哈希处理,然后将用户名+密码哈希发送到服务器。


0
投票

我假设您正在使用login.jsp中的表单提交来提交用户名和密码。

使用HTTP POST而不是GET:

在您的login.jsp中,使用http方法作为POST

<form action="welcome.jsp" method="post">

GET和POST方法都用于通过HTTP协议将数据从客户端传输到服务器,但是POST和GET方法之间的主要区别在于GET带有附加在URL字符串中的请求参数(作为纯文本,可以从浏览器查看),而POST带有消息正文中的request参数,这使它更安全地使用http协议从客户端到服务器传输数据。

更多有关邮政的资料:https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST

编辑:

在浏览器中加密数据(JavaScript方式:]

<html>
<head>

<script src="md5.js" language="javascript" >
  console.log("md5.js script loaded");
</script>

<script language="javascript" type="text/javascript">


function doLogin()
{
  document.formname.hash.value=MD5(document.formname.password.value);
  document.formname.password.value = "";
  document.formname.submit();
}

</script>

用于表单提交按钮,

<input onClick="doLogin(); return true;" type="submit" value="Login">
© www.soinside.com 2019 - 2024. All rights reserved.