Javascript 如何保护(用Java代码加密)将重定向到servlet的登录表单的值

Javascript 如何保护(用Java代码加密)将重定向到servlet的登录表单的值,javascript,java,jsp,servlets,java-security,Javascript,Java,Jsp,Servlets,Java Security,我担心在向servlet发送请求之前发送加密的安全数据会带来安全问题。我尝试调用对密码进行加密的函数作为示例,但无法在JSP中将值从Java脚本传递到Java代码 函数登录{ var password=document.getElementsByNamenewPassword; console.logpassword; } BSH登录 使用基于web的请求时,例如。我建议使用JSON Web令牌,可以在这里找到: 此程序/工具将允许您嵌入加密数据,并在发送和接收数据(尤其是接收数据)时验证数据

我担心在向servlet发送请求之前发送加密的安全数据会带来安全问题。我尝试调用对密码进行加密的函数作为示例,但无法在JSP中将值从Java脚本传递到Java代码

函数登录{ var password=document.getElementsByNamenewPassword; console.logpassword; } BSH登录
使用基于web的请求时,例如。我建议使用JSON Web令牌,可以在这里找到:


此程序/工具将允许您嵌入加密数据,并在发送和接收数据(尤其是接收数据)时验证数据。请随意阅读文档并在Javascript或Java框架中实现它。

您的问题不是很清楚

如果您想从客户端向服务器发送任何凭证或其他信息,唯一的选项是https


但是,如果您要将一些数据从jsp传递到servlet,则内部请求调度程序是本地安全的,并且与客户机没有任何关系。但是,如果在网关之间重定向,因为需要客户端重定向调用,所以仍然需要https。

正确且可能唯一的解决方案是使用https。这将与服务器建立安全连接以发送登录请求。由于通过HTTPS连接发送的所有数据都是加密的,因此不需要对密码进行额外的加密

假设您希望使用非安全连接,即HTTP而不是HTTPS。是否可以使用加密发送密码。。。安全地

我认为答案是否定的

在这个场景中,让Alice作为用户,Bob作为服务器,Carol作为试图拦截密码的人/代理

假设Alice发送一个HTTP请求来获取登录页面,Bob用一个包含一些嵌入式Javascript的页面来响应,该页面将加密用户的密码。Bob的javascript甚至可以使用公钥加密,这样Carol1就可以解密密码。。。尽管知道加密密钥。你会想

不幸的是,它并不安全。问题是Bob将包含javascript的页面以明文形式发送到Alice的web浏览器。Carol可以使用已知的网络黑客技术更改Bob的响应,以便Alice获得的页面具有不同版本的javascript。此版本可能以明文形式发送密码,也可能使用其他公钥对其进行加密。这将导致Alice无法登录。但是如果Carol也可以看到登录请求,因为它也是通过HTTP发送的,那么她就可以获取Alice的密码。实际上,Carol可以强制通过HTTP发送请求

这是一个中间MITM安全攻击的例子。< /P>


简言之,如果您不通过HTTPS进行整个交换,那么任何嵌入在登录页面中的安全机制都可能被破坏

您必须使用javascript来实现这一点。这里有一个很好的例子:Js或任何客户端脚本都容易受到安全攻击,但您可以选择jCryption。js@ShaabanEbrahinAltnany,则剩下小程序option@ShaabanEbrahinAltnany,java在服务器上运行,而js在web浏览器上运行,java不能与js一起运行,如上所述,您所拥有的只是应用程序,您无法使其更安全,如果不使用https,则mitm攻击者拥有加密的秘密,如果使用https,则不需要无意义的加密。所以一定要使用https。无论我使用什么jwt,我都必须加密作为示例密码,并将其放入令牌中。必须使用后端中的方法处理加密。顺便问一下,同一个项目中的jsp和servlet使用加密utils,我想将值发送到同一个项目中的utils中使用方法加密的servlet,并在servlet中对其进行解密,您得到了吗?同样,如果您想在客户机和服务器之间发送/接收任何数据,您需要HTTPS