Sempre procurava dispor de alguma segurança em minhas requisições em Ajax. Tanto que meu primeiro passo foi passa-las para POST, mas para quê passar para POST?
Simples: asseguro que a requisição não seja feita via GET, assim já dificulta alguma pessoa com más intenções de tenta explorar bugs em minhas aplicações WEB.
Hoje navegando pela internet me deparei que algumas chamadas de Ajax passavam uma informação via header importante (as bibliotecas decentes de Ajax passam): HTTP_X_REQUESTED_WITH = ‘XMLHttpRequest‘.
Pronto, era o que era necessário para detectar se uma chamada foi feita via Ajax ou não, esbocei esta pequena função para auxiliar:
<?php
function isAjax() {
return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == ‘XMLHttpRequest’;
}
?>
Com isso eu garanto que algumas chamadas só passarão se forem chamadas via Ajax.
Uma outra boa dica é utilizar JSON nas suas resposta, bem mais prático do que retornar um HTML (a menos que o html seja muito grande). Uma função nativa a partir da versão 5.1 do PHP é o json_encode().
Se ainda escreve suas funções Ajax no braço e respostas em HTML, parabéns! Você é um desenvolvedor retrógrado. Com a gama de frameworks (jQuery, Prototype, Mootools, etc) só é atrasado quem quer. ![]()




0 Respostas para “Programação: Garantindo segurança do seu Ajax com PHP”