bots bypassando il modulo e inviando direttamente tramite il servizio web

1

Abbiamo un modulo che, una volta inviato, trasmetterà i suoi dati come XML a un servizio Web pubblico. Sono preoccupato dal fatto che quell'URL sia stato manipolato direttamente per pubblicare voci false sul nostro sistema, ignorando completamente il modulo stesso. Il modulo stesso è già attraverso una connessione HTTPS. Credo che stiamo usando SOAP. Cosa possiamo fare per proteggere il modulo / servizio?

    
posta Raquel 23.03.2017 - 20:22
fonte

2 risposte

1

HTTPS impedirà alle persone di visualizzare i dati in rotta verso il servizio web. Non fornisce alcun metodo per autorizzare una richiesta. Dovrai implementare alcune autorizzazioni / autenticazioni nel servizio web per assicurarti che le persone che inviano i dati siano quelle che devono pubblicare dati.

    
risposta data 23.03.2017 - 20:28
fonte
0

Devi convalidare l'input dell'utente sia lato client che lato server.

Quindi, se hai un modulo sul lato client che controlla che l'input dell'utente sia inferiore a 10 caratteri. Il bot può semplicemente bypassare facendo una richiesta al tuo servizio web senza il tuo cliente. Quindi è necessario convalidare sul lato server.

Ad esempio:

se hai un percorso sul tuo servizio web:

route.post('api/signup/', function(req,res){
    //Where the user data is stored in req.body
   var userInput = req.body;

   if(userInput.length < 10){
     //write to database
      } else {

       //Don't write to database and return error message
     }

  }

In questo modo se un bot decide di ignorare le restrizioni del lato client, stai ancora controllando i vincoli sul lato del servizio web

    
risposta data 23.03.2017 - 20:38
fonte

Leggi altre domande sui tag