[RESOLVIDO] Synchronizer Token com JSF 2

4 respostas
vinnysoft

Boa tarde pessoal.

Gostaria de saber se alguém tem um exemplo de implementação do padrão JEE Synchronizer Token com JSF 2, para evitar submits duplos.

Achei esse link com um exemplo para evitar CSRF Attacks: http://blog.eisele.net/2011/02/preventing-csrf-with-jsf-20.html
Ele usa uma abordagem parecida.

Alguém tem alguma ideia melhor?

Obrigado!

4 Respostas

Hebert_Coelho

É cara, eu já ouvi sobre essa abordagem de defesa que ele se referiu.

eu tinha ouvido algo sobre o JSF 2.x já vir com uma defesa mais bolada sobre isso. Mas não sei c é para a versão que já existe, ou se é uma vindoura.

vinnysoft

Olá Hebert.

No caso deste artigo, ele utiliza o token para prevenir ataques CSRF. Mas acredito que daria para adaptar a solução dele para prevenir o double form submit, que é o meu problema.

O problema acontece quando o usuário submeteu a request e muda de página, então ele clica para voltar no navegador (ou mesmo “favorita” a página e acessa novamente) e a requisição é submetida novamente, quando não deveria.

Você sabe se o JSF 2.0 já tem recursos implementados para este problema do double form submit?

Obrigado!

Hebert_Coelho

vinnysoft:
Olá Hebert.

No caso deste artigo, ele utiliza o token para prevenir ataques CSRF. Mas acredito que daria para adaptar a solução dele para prevenir o double form submit, que é o meu problema.

O problema acontece quando o usuário submeteu a request e muda de página, então ele clica para voltar no navegador (ou mesmo “favorita” a página e acessa novamente) e a requisição é submetida novamente, quando não deveria.

Você sabe se o JSF 2.0 já tem recursos implementados para este problema do double form submit?

Obrigado!

Não. Ainda terá. http://stackoverflow.com/questions/5889451/jsf-2-0-and-multiple-submission-problem

vinnysoft

É isto mesmo Hebert.

Vamos aguardar a implementação deste recurso então. Segue o link para quem quiser acompanhar o issue: http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-559

Obrigado!

Criado 10 de dezembro de 2012
Ultima resposta 10 de dez. de 2012
Respostas 4
Participantes 2