Pergunta

Estou usando o jquery para postar atualizações de volta para o meu servidor.Eu estou preocupado em fazer-se de eu ter colocado em prática as medidas adequadas para que somente o meu chamadas AJAX pode postar dados.

Minha pilha é o PHP no Apache contra um backend MySQL.

Conselhos muito apreciada!

Foi útil?

Solução

Qualquer solicitação de que as chamadas AJAX em suas páginas pode fazer também pode ser feita por alguém de fora da aplicação.Se fez certo, você não será capaz de dizer se eles foram feitos como parte de uma chamada AJAX a partir do seu webapp ou pela mão/outros meios.

Existem dois cenários em que posso pensar que você pode estar falando de quando você diz que você quer certificar-se de que somente as suas chamadas AJAX pode postar dados:você não quer que um usuário mal-intencionado para ser capaz de colocar os dados que interfere com os dados de outro usuário ou você realmente deseja restringir os posts de estar no "fluxo" de um multi-operação de pedido.

Se você estiver preocupado com o primeiro caso (alguém postar dados maliciosos para/como outro usuário), a solução é a mesma se você estiver usando AJAX ou não, você só tem que autenticar o usuário através de qualquer meio necessário, geralmente através de cookie de sessão.

Se você estiver preocupado com o segundo caso, então você vai ter que fazer algo como emitir um token exclusivo em cada etapa do processo, e armazenar o token esperado no lado do servidor.Em seguida, quando um pedido é feito, verifique se há uma entrada correspondente no lado do servidor para a ação que está sendo executada e que o esperado tokens de jogo e que o token não foi usado ainda.Se não houver, você rejeitar o pedido, se houver, em seguida, você marca esse token como usado e processar o pedido.

Se o que você está preocupado com algo que não seja um desses dois cenários, em seguida, a resposta vai depender de mais informações que você forneceu.

Outras dicas

Use sessões para garantir que qualquer Ajax postagens são feitas em um contexto autenticado.Pense no seu código Ajax como apenas mais um cliente para o servidor, torna-se mais fácil para resolver problemas de autenticação de que maneira.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top