Protezione dei servizi Web [duplicato]

0

Come approccio alla protezione dei servizi web? Posso pensare di utilizzare uno dei due approcci seguenti

  1. invio di una password per nome utente in ogni richiesta di convalida
  2. Invio di un token basato sull'ora (GUID o una stringa lunga simile)

Nel primo approccio devo interrogare un database ogni volta nella maggior parte dei casi un RDBMS per autenticare un utente.

Nel secondo ora eseguo l'autenticazione della password del nome utente solo una volta e poi restituisco all'utente un token basato sull'ora. Tutte le richieste commerciali future vengono autenticate tramite questo token. Alla scadenza questo token dovrà essere ricreato dal client chiamante.

Entrambi gli approcci sembrano avere i loro pro e contro. Quale raccomanderesti in quali circostanze e quali sarebbero le tue ragioni per lo stesso? Forse una condizione specifica in cui si preferisce l'altro.

    
posta user20358 30.05.2014 - 14:27
fonte

1 risposta

1
  1. Utilizza HTTPS.

  2. Scherzi a parte. Usalo. Non ha senso discutere la sicurezza di un servizio web in cui qualsiasi password o token saranno passati in chiaro dal client al server.

  3. Preferisci un meccanismo che è già fornito dal framework. Ad esempio, WCF consente di implementare l'autenticazione molto facilmente, facendo tutto il lavoro duro a livello di trasporto stesso. Quindi non reinventare la ruota.

  4. Non c'è nulla di sbagliato nell'autenticare ad ogni richiesta. Invece di speculare sull'impatto sul database, misuralo, definiscilo e poi prendi la decisione in base ai dati reali.

risposta data 30.05.2014 - 14:45
fonte

Leggi altre domande sui tag