Domanda

Sto utilizzando jquery ajax di postare gli aggiornamenti per il mio server.Sono preoccupato di fare sicuro di non aver messo in atto misure appropriate affinché soltanto le mie chiamate AJAX è possibile registrare i dati.

Il mio stack è di PHP su Apache contro un backend MySQL.

La consulenza è molto apprezzato!

È stato utile?

Soluzione

Qualsiasi richiesta che le chiamate AJAX nelle pagine può fare può anche essere fatto da qualcuno al di fuori dell'applicazione.Se fatto bene, non sarà in grado di dire se si trattasse di una chiamata AJAX dalla tua webapp o a mano/altri mezzi.

Ci sono due scenari che posso pensare che si potrebbe essere parlando quando si dice che si desidera assicurarsi che solo le vostre chiamate AJAX può inviare i dati:o non si desidera che un utente malintenzionato di essere in grado di pubblicare i dati che interferisce con i dati di un altro utente o per limitare i post per essere "portata" di un multi-operazione richiesta.

Se siete preoccupati per il primo caso (qualcuno pubblicazione di dati dannosi per/come un altro utente) la soluzione è la stessa se si utilizza AJAX o non -- basta per autenticare l'utente attraverso ogni mezzo che è necessario, in genere tramite cookie di sessione.

Se siete preoccupati per il secondo caso, allora si sta andando ad avere per fare qualcosa di simile problema di un token univoco ad ogni passo del processo, e memorizzare il previsto token sul lato server.Poi, quando viene effettuata una richiesta, verificare che non vi è una corrispondente voce sul lato server per l'azione che ha preso e che prevede il token partita e che il token non sono state ancora utilizzate.Se non c'è, si rifiuta la richiesta, se c'è, è segno che il token utilizzato e di elaborare la richiesta.

Se quello che ti preoccupa è qualcosa di diverso da uno di questi due scenari, quindi la risposta dipende dalle ulteriori specifiche di quello che hai fornito.

Altri suggerimenti

Utilizzare le sessioni per garantire che qualsiasi Ajax post sono fatto in un contesto autenticato.Pensa al tuo codice Ajax come un altro client al server, diventa più facile da affrontare, problemi di autenticazione in quel modo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top