Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中保护URL参数_Java_Google App Engine - Fatal编程技术网

如何在java中保护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

示例URL

示例代码

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调用

+1@Nishant常规HTTP调用不安全(GET、POST等)。HTTPS是一种方式。这是我的URl
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是配置,不是编码的一部分。您需要在部署端配置容器/应用程序服务器。您不一定需要将其设置在“开发”框中。