如何在java中保护URL参数
示例URL 示例代码如何在java中保护URL参数,java,google-app-engine,Java,Google App Engine,示例URL 示例代码 public class GuestbookServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException { String userName = req.getParameter("name"); String userSkills = req.getPa
public class GuestbookServlet extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
{
String userName = req.getParameter("name");
String userSkills = req.getParameter("skills");
if(userName != null && userSkills != null)
{
res.setContentType("text/plain");
res.getWriter().println("Name : " + userName + ", Skills : " + userSkills);
}
else
res.sendRedirect(req.getRequestURI());
}
}
我正在手动将此URL输入web浏览器
如何保护参数值
给我举一个合适的例子。因为我不知道java和google应用程序引擎的概念
真的,我不知道SSL。所以,请我需要详细的解释SSL的例子
我正在使用eclipse开发我的应用程序。请帮帮我。谢谢。您的代码是一个典型的页面易受CSS(跨站点脚本)攻击的例子。使用HTTPS无法缓解这种情况。相反,您需要在将任何输入添加到页面之前对其进行转义
例如,使用Apache Commons Lang库中的and
StringEscapeUtils.escapeJavaScript()
。使用https不会以任何方式保护url参数。若要使其安全,必须将参数放在标题或正文中。但是,如果您直接从浏览器对此进行调用,则不能将其放入标题或正文中,因为它是GET请求+1到nfechner,用于在代码中突出显示XSS问题
对于您的问题,以下是https可能的解决方法:
- 不要使用GEt call,而是使用POST call,将此搜索以单独的形式放在页面中,并在上面使用HTTPS
- 如果您想使用GET请求,您必须将参数放在标题中,创建一个搜索页面,当用户点击搜索按钮时,通过使用https调用将其传递到标题中,对上述资源进行ajax调用
localhost:8888/guestbook?name=xxx&skills=zzz
。在大多数情况下,如何添加https.https GET调用仍将显示在服务器日志中,并显示完整的url。HTTPS POST请求通常是最好的方式。@danielbeard服务器日志并不意味着这是一个网络安全漏洞。您可以随时控制服务器日志。@我正在使用eclipse开发java应用程序。在这里我添加了SSL。如何将SSL添加到我的程序中。给我示例代码。谢谢。输入详细信息的用户可能会遵循流程,但在其他情况下可能会导致问题。请解释我不知道这个概念。SSL(https)是服务器端配置。例如,如果您正在使用其他内容,则需要参考文档。我正在使用eclipse开发java应用程序。在这里我添加了SSL。如何将SSL添加到我的程序中。给我示例代码。谢谢。@dineshlingam SSL是配置,不是编码的一部分。您需要在部署端配置容器/应用程序服务器。您不一定需要将其设置在“开发”框中。