Java doPost是否加密URL及其外部附加的参数

Java doPost是否加密URL及其外部附加的参数,java,jsp,servlets,Java,Jsp,Servlets,我对doPost的工作有点怀疑,我以前从未尝试过。 我创建了一个web应用程序,其中集成了第三方应用程序。我将用户名和密码附加到URL,并将其重定向到第三方应用程序,该应用程序在其末端验证凭据。第三方不需要对用户名和密码进行加密或编码,因此我尝试使用一个Servlet,doPost实际上在其中对这个URL进行加密 public void doPost(HttpServletRequest request,HttpServletRequest response)

我对doPost的工作有点怀疑,我以前从未尝试过。 我创建了一个web应用程序,其中集成了第三方应用程序。我将用户名和密码附加到URL,并将其重定向到第三方应用程序,该应用程序在其末端验证凭据。第三方不需要对用户名和密码进行加密或编码,因此我尝试使用一个Servlet,doPost实际上在其中对这个URL进行加密

    public void doPost(HttpServletRequest request,HttpServletRequest response)
              {
               Userdetails=//Username and password I am getting from Database using Dao
               String URL= URL.append(Userdetails)
               response.sendRedirect(URL)
              }
我想知道上面的doPost是否主要加密上面的URL,以及附加的用户名和密码


此外,我想知道response.sendRedirect(url)是否对url或其参数进行编码并将其发送到其他服务器。

否,此doPost不会为您加密url,即使这样做,浏览器也无法使用加密的url

应该做的是:

  • 第三方应用程序应与您共享一个API密钥
  • 您应该进行服务器端调用以获取与用户名对应的一次性密钥。第三方应用程序会记录与此一次性密钥对应的用户名
  • 然后,您应该使用该一次性密钥向用户的浏览器发送重定向
  • 第三方应用程序应将该一次性密钥与记录的用户名匹配,并提供所需的服务

  • 当然,你应该和你的应用程序提供商谈谈,找出一种与他们进行交易的安全方式。

    即使你使用安全连接(如https),url也不会被加密。相反,您可以将用户名和密码作为post参数的一部分,并使用安全连接

    你运行过这个代码吗?这应该会导致一个异常。事实上,我只有很少的时间,我无法安装像tomcat这样的应用服务器并尝试它。所以,我只是想知道关于它的想法,你应该接受所有答案中最好的答案,这样StackOverflow就可以标记你的问题已经解决,现在登录的新用户就不必花费时间了。是的,我已经做到了,感谢chandranshu的建议。doPost是否只有在用户参数是通过表单和post方法发送的。不,甚至不是那样。当用户发布到服务器时,浏览器会隐藏凭据。doPost()只使用发布的数据执行任何需要执行的操作。我们可以通过附加到标头来发送用户详细信息。请您清除上面的评论。即使您在标题中发送用户详细信息,现代浏览器使得人们可以很容易地检查请求/响应头并查看它们的值。我想澄清的另一件事是,编写Servlet必须而且应该需要Jsp。您能否向我说明用户名和密码作为post参数的一部分的用法。我没有登录页面,我只是添加了从DB获得的详细信息,并将其发送给他们获得的第三方。我不知道您使用的是什么语言,但这里是使用apache http post的java代码
    HttpClient=new DefaultHttpClient();HttpPost=新的HttpPost(“您的URL”);List nameValuePairs=新的ArrayList(2);添加(新的BasicNameValuePair(“用户名”、“abdc”);添加(新的BasicNameValuePair(“密码”,“1243”));setEntity(新的UrlEncodedFormEntity(nameValuePairs));HttpResponse response=client.execute(post);