泽西GET请求行为

时间:2016-12-13 05:09:33

标签: java jersey-2.0

我正在使用Jersey 2.x. 我有一个带有以下方法签名的GET请求:

    @GET
    @Path("/size/file/{fileName}")
    @Produces("application/json")

    public Response getFileSize(@PathParam("fileName") String filename,
            @Context ContainerRequestContext crc) {
    ......
    ......
}

我通过以下两种方式点击了我的网址:

  1. http://localhost:8083/sample/size/file/hello_____
  2. http://localhost:8083/sample/size/file/hello# $
  3. 请注意第二次请求中的#$

    当我使用IDE Watcher检查GET请求中的参数时,对于第一个请求fileNamehello_____,输出的文件名无效。

    对于第二个,当我检查参数时我发现它为hello,我想知道#$去了哪里?

    我在上述背景下有以下问题。

    1. 为什么GET请求被接受_____而不是#$(在后端)?
    2. #$发生了什么事情,球衣清除了特殊角色本身?
    3. 我尝试传递@,然后输出的文件名无效,为什么这次@ #$不会被清除?
    4. 这是一个sql注入,可能会影响我的API。如果是,那么如何处理这种情况。采取了哪些措施来阻止这种情况?
    5. 我希望我清楚自己的问题。

      谢谢

0 个答案:

没有答案