我对 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。
应该做的是:
- 第 3 方应用应与您共享 API key 。
- 您应该进行服务器端调用来获取与用户名相对应的一次性 key 。第三方应用会记录该一次性 key 对应的用户名。
- 然后您应该使用该一次性 key 将重定向发送到用户的浏览器。
- 第 3 方应用应将该一次性 key 与记录的用户名相匹配并提供所需的服务。
当然,您应该与您的应用提供商联系并找出与他们进行交易的安全方式。
关于java - doPost 是否加密 URL 及其外部附加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20042498/