Sta usando Gravatar in un'applicazione web con URL "privati" un problema di sicurezza?

3

Nella nostra applicazione, esiste una sorta di funzione di "condivisione" che invia un'email a un indirizzo fornito dall'utente. Questa email contiene un link con un token di accesso segreto (come parte dell'URL) che è valido per alcuni giorni. La pagina in cui questo link indica informazioni riservate.

Ora c'è una richiesta di funzionalità per utilizzare Gravatar nell'intera applicazione per mostrare una bella immagine dell'utente, se l'utente ha un account Gravatar. Ora temo che includendo Gravatar nella pagina riservata menzionata in precedenza comprometterai quel collegamento.

Gravatar (o meglio Automattic) è in grado di vedere il referente da cui proviene una richiesta per l'immagine dell'utente? Se sì, c'è un modo di usare Gravatar in modo che gli URL privati come menzionato sopra non siano esposti?

    
posta theDmi 18.11.2015 - 19:27
fonte

1 risposta

7

Potresti indirizzare le richieste a Gravatar attraverso la tua app, in modo che tutte le richieste provengano dallo stesso luogo (o almeno non dagli stessi URL privati).

Qualcosa del genere:

<img src="https://yourapp.example.com/users/1/avatar">

Conunendpointnellatuaappcherecuperal'immaginediGravatarelavisualizzanuovamentenelnuovourlsopra.

InRails,potreifarequalcosadelgenerecomeprimopassaggio:

require'open-uri'classUsersControllerdefavatargravatar_id=Digest::MD5::hexdigest(current_user.email).downcaseimage=open("http://gravatar.com/avatar/#{gravatar_id}.png", &:read)
    send_data image, type: 'image/png', disposition: 'inline'
  end
end

Potrei anche prendere in considerazione la codifica base64 e / o memorizzarla temporaneamente nel DB, o usarla per un avatar di "avviamento", e consentire comunque agli utenti di caricare quelli personalizzati.

    
risposta data 18.11.2015 - 21:02
fonte

Leggi altre domande sui tag