小编AsS*_*iDe的帖子

没有 <meta chartset=<<"any-encoding">> /> 标签的安全漏洞?

我在某处读到声明字符集是一种很好的做法

 <meta charset="utf-8">
Run Code Online (Sandbox Code Playgroud)

以防止严重的安全风险。

如果有人不在 html 文档中定义字符集,会有什么风险?

html security xss character-encoding web

3
推荐指数
1
解决办法
909
查看次数

使用不同的 QueryParams 重载 REST 端点

我正在尝试确定与变量为 的 Jersey 客户端端点交互的最佳方式Collection<String>。我不是 100% 确定这样做是正确的,但我想知道这是否可能/实现这一目标的正确方法是什么 - 也许@POST带有消息正文?

我的方法DAOSet<Foo> retrieveByKeys(Collection<String> keys). 因此,我试图找出为此创建端点的最佳方法。第一个想法是:

@POST
@Path('/foos')
@Consumes(MediaType.APPLICATAION_JSON)
@Produces(MediaType.APPLICATAION_JSON)
Response retrieveByKeys(Collection<String> keys) {
    ... //do things
}
Run Code Online (Sandbox Code Playgroud)

或者:

@GET
@Path('/foos')
Response retrieveByKeys(@QueryParam('keys') Collection<String> keys) {
    ... //do things
}
Run Code Online (Sandbox Code Playgroud)

我不太确定您是否可以执行第二个操作,但有人建议将其作为可能的解决方案。

无论哪种方式都很好,但同时我的另一种方法DAOList<Foo> retrievePageStartingFrom(String startKey, int pageSize). 我知道在可能的情况下重用 url 是最佳的休息实践,这就是我试图用这两个做的。我只是在努力寻找一种方法来区分这两种方法,但要保持相同的 url。

我想知道是否有可能用其他方式重载端点,@QueryParams但这次是:

@GET
@Path('/foos')
Response retrievePageStartingFrom(@QueryParam('startKey') String startKey, @QueryParam('pageSize') int pageSize) {
    ... //do things
}
Run Code Online (Sandbox Code Playgroud)

并且 Jersey 客户端会知道区分这两个调用,因为第一个方法有一个参数,第二个方法有两个也是不同类型的参数。

我想我想我想要做的最好的方法是在 java …

java rest jax-rs jersey

3
推荐指数
1
解决办法
3277
查看次数

Servlet没有重定向到带参数的URL

的index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>sendRedirect example</title>
</head>
<body>


<form action="MySearcher">
<input type="text" name="name">
<input type="submit" value="Google Search">
</form>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

MySearcher.java

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MySearcher extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name=request.getParameter("name");
        response.sendRedirect("https://www.google.co.in/#q="+name);
    }
}
Run Code Online (Sandbox Code Playgroud)

web.xml中

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>GoogleSearcher</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>MySearcher</display-name>
    <servlet-name>MySearcher</servlet-name>
    <servlet-class>MySearcher</servlet-class> …
Run Code Online (Sandbox Code Playgroud)

java servlets

1
推荐指数
1
解决办法
572
查看次数

标签 统计

java ×2

character-encoding ×1

html ×1

jax-rs ×1

jersey ×1

rest ×1

security ×1

servlets ×1

web ×1

xss ×1