Já repararam que a primeira coisa que 90% dos web frameworks Java faz é botar um Front Controller que não dá a mínima para qual método está sendo usado? Quem mais se incomoda com as implicações de segurança que isso causa?
Só pra dar um exemplo, eu poderia colocar uma imagem com a URL do botão de logout, e só de ver esse post, você seria deslogado.* Incomoda? Um pouco. Poderia tornar inconveniente responder ao meu post, mas não ia causar nenhum dano sério. E esse foi um exemplo bem básico. Agora imagine uma falha dessas num site de comércio eletrônico. “Você não comprou um Personal Abdomen Strength Booster 3000? Eu tenho o pedido aqui no meu log com o seu IP!”
Ok, você pode criar uma chave para cada requisição para fechar essa brecha, mas essa solução cria seus próprios problemas. (por exemplo, quebrar o back button) Eu gostaria de ver um framework que permitisse que eu especificasse via anotação quais métodos são válidos caso a caso. (dá pra fazer algo nesse estilo criando regras de segurança que bloqueiem GETs para certos URL patterns, mas isso já é um workaround, vulgo gambi)
- Crianças, não façam isso em casa! Nós somos profissionais altamente treinados e tomamos todas as precauções de segurança necessárias.
