Sto utilizzando Node.js e express-validator per convalidare l'input dell'utente sul lato server. Il modulo che sto controllando è semplice da convalidare, assicurando che vengano soddisfatti i vincoli come "isInt" e "isFloat", "isBoolean" ecc.
Suppongo di dover anche controllare l'intestazione dell'autorizzazione. Viene inviato nel modulo di accesso come autenticazione di base, tramite l'intestazione dell'autorizzazione. Quindi l'intestazione appare come questa ad esempio:
Basic dGhhbmtzZm9ydGFraW5nOnRpbWVoZWxwaW5nbWU6KQ==
Usando il link apprezzerei davvero qualsiasi aiuto sulla strategia su come convalidare l'input qui.
Per estrarre il nome utente e la password che uso
var auth = require('basic-auth'); //and
var info = auth(req); //getting info.user and info.pass
Sono anche curioso di sapere se questo fa una convalida dell'input per impostazione predefinita. La documentazione di basic-auth dice
auth(req) Get the basic auth credentials from the given request. The Authorization header is parsed and if the header is invalid, undefined is returned, otherwise an object with name and pass properties.
Non sono sicuro di cosa significhi - invalido in che modo, ecc. Sarebbe bello se questo avesse una validazione sufficiente in sé, ma ne dubito.
La domanda principale è come "pulire" questo da attacchi e script di iniezione. È codificato in base64, quindi suppongo che dovrei decodificarlo e quindi pulirlo. Ma forse questo rappresenta un rischio in sé?
Qualsiasi aiuto su come avvicinarsi a questo sarebbe molto apprezzato.