Articles of servlet filters

Como alterar o corpo da solicitação do servlet no filtro java?

Como posso alterar o corpo da solicitação no filtro java para proteger contra ataques XSS ? Eu construo o HttpServletRequestWrapper e uso o getparameter para o corpo da mudança, mas recebo uma exceção de fechamento de stream.

Por que não consigo acessar o servlet após o tempo limite da session?

Eu tenho um aplicativo JSP, Servlet, Hibernate. Nesta aplicação eu tenho um problema muito estranho. Ou seja, se a session expirou (em outras palavras, “tempo limite”) e quando o usuário clicar em um link, a página será redirecionada para a página de índice, mas depois disso o usuário não poderá efetuar login e acessar a […]

Obtenha o AsyncContext a partir do HttpServletRequest

Estou usando Spring’s OncePerRequestFilter substituindo o método shouldNotFilterAsyncDispatch para retornar false. Dessa forma, ele pode manipular solicitações assíncronas. No filtro estou tentando fazer o seguinte: if (isAsyncDispatch(request)) { request.getAsyncContext().addListener(new AsyncListener() { @Override public void onComplete(AsyncEvent event) throws IOException { System.out.println(“onComplete”); } @Override public void onTimeout(AsyncEvent event) throws IOException { } @Override public void onError(AsyncEvent event) […]

Como adicionar “)]} ‘, \ n” antes de cada resposta JSON Spring para evitar vulnerabilidade comum

Eu quero adicionar um prefixo “)]}’,\n” a todas as respostas JSON produzidas pelo servlet para evitar vulnerabilidades JSON, como o AngularJS sugere . Eu encontrei uma maneira de modificar o conteúdo da resposta . Usando a class base OncePerRequestFilter do Spring, acabei com: public class JsonArrayVulnerabilityPreventorFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse […]

Filtros de servlet para prevenção de abuso? (DoS, spam, etc)

Estou procurando uma biblioteca de filtros de servlet que me ajude a proteger nosso serviço da Web contra uso não autorizado e DDoS. Temos “clientes autorizados” para nosso serviço da Web, então, idealmente, o filtro ajudaria a detectar clientes que não são autorizados ou se comportam de maneira inadequada ou detectam várias pessoas usando a […]

Mapeamentos de Servlet com Variáveis ​​(Tomcat 7.0)

É possível mapear URLs para servlets (talvez algo específico com o Tomcat) para que as duas URLs seguintes (com {id} sendo variables ​​recuperáveis ​​do código), /users/{id}/a /users/{id}/b mapear para dois servlets diferentes, ou terei que implementar algum tipo de filtro para um servlet mapeado para /users/* ? Para ser mais claro, qualquer URL com o […]

getSession () sempre cria uma nova session

Nós temos a class SecurityFilter em nosso aplicativo implementando o Filter e nosso método doFilter se parece com isso. public void doFilter(ServletRequest sres, ServletResponse sreq, FilterChain chain) throws IOException, ServletException { LOGGER.debug(Logger.buildLogMessage(“Starting SecurityFilter.doFilter”)); HttpServletRequest request = (HttpServletRequest) sres; HttpServletResponse response = (HttpServletResponse) sreq; HttpSession session = request.getSession(); Nós temos a seguinte input em nosso web.xml […]

Quebra automática de parâmetros de solicitação usando HTTPServletRequestWrapper

Eu tenho um filtro que autentica / autoriza chamadas REST. Esses filtros precisam acessar os parâmetros de solicitação, por isso escrevi um HTTPServletRequestWrapper customizado para isso. import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; public class WrapperRequest extends HttpServletRequestWrapper { private Map requestParams = null; public WrapperRequest(final ServletRequest request) […]

Vários filtros com o mesmo mapeamento de URL

É possível usar dois filtros com o mesmo mapeamento de URL? TeeFilter filter1r TeeFilter /* CredentialsFilter CredentialsFilter filter2 CredentialsFilter /*

Como passar dados no header HTTP ao redirect uma solicitação em Java

É possível passar alguns dados no header HTTP, ao redirect uma solicitação de um servidor para outro. Aqui está o meu cenário , eu tenho um filtro genérico, através do qual cada pedido está passando. Agora, com base em alguma condição, estou redirecionando a solicitação para algum servidor diferente usando a API objHttpServletResponse.sendRedirect(strURL) . Mas, […]