Sto programmando un sito Web in cui è possibile pubblicare materiale. Questo funziona con il seguente jQuery Ajax:timer php per consentire l'input dell'utente ogni due secondi
$.ajax({
type: 'POST',
url: 'action/post.php',
data: 'posttext='+posttext+'&imageurl='+imageurl,
success: function(feedback){
$('#feedback').val(feedback);
}
});
Ora mi chiedo: qualcuno potrebbe scrivere il suo Ajax per pubblicare qualcosa al sito e farlo più e più volte. Come posso evitare questo? Sono sicuro che avrei bisogno di qualche tipo di controllo di sicurezza in post.php - Ho già sentito parlare di http referer, ma questo può essere modificato quindi non è davvero affidabile.
Inoltre vorrei aggiungere un timer in post.php che si assicura che un post dallo stesso indirizzo ip possa essere pubblicato solo una volta ogni x secondi, e ripristina il timer se il messaggio viene inviato sotto x secondi (tipo di overflow dello stack simile lo fa con i commenti).
Qualcuno sa come proteggere l'ajax e anche come impostare il timer? O qualche altra idea su come proteggere il meccanismo di pubblicazione?
Grazie!
Dennis
L'unico modo è quello di creare identificatore univoco di utenti, e controllare questo sul lato server. Affidatevi ai dati in DB, come se il vostro codice in PHP fosse buono, non ci sarebbe niente da fare. Tutto in ajax è solo per UX –
Potresti approfondire ulteriormente? UX? – weltschmerz
UX = esperienza utente –