Impedisci che una pagina venga visualizzata nella cronologia del browser

1

Ho ereditato un sito Web ASP in cui sono stati passati dati sensibili nella stringa di query come parte dell'URL. Qualcosa del genere:

www.example.Com/Test?details=Username&moreDetails=blahblah

Se cambiamo questo per crittografare la stringa di query, quindi Username e moreDetails non sono visibili, presumo di avere ancora il problema che questo URL crittografato è archiviato nella cronologia del browser, quindi in realtà non gestisce il problema, vero? Sto correggendo il fatto che no-cache non sarà di aiuto in quanto, anche se questo potrebbe impedire che venga memorizzato nella cache, presumo che l'URL sarà ancora nella cronologia del browser. Un modo per impedirlo?

Suppongo che la soluzione migliore sia usare un POST e inviare i dati sensibili nel corpo? Ma è un po 'di lavoro.

    
posta Joe 14.03.2014 - 15:43
fonte

2 risposte

1

La risposta che non vuoi sentire è che dovresti modificare il codice per usare POST al posto di GET.

In generale, dovresti utilizzare il POST per quasi tutti i dati inviati tramite il web. La vera e unica esclusione è rappresentata dai dati che devono essere visti e manipolati dall'utente finale. Esempi di questo potrebbero essere:

  • Profilo utente
  • ID post
  • Latitude & Longitudine (mappatura)
  • Nome evento / ID

Ciò consentirebbe a un utente di condividere e aggiungere un segnalibro al sito con tutte le informazioni contenute nell'URL. Questo può essere vantaggioso per decifrare il contenuto della pagina e modificare facilmente la stringa di query su altri valori.

Quando si trasmettono dati ritenuti sensibili o non necessari per essere esposti, si dovrebbe usare POST. Esempi:

  • Nome utente e password
  • Informazioni identificative personali
  • Quasi tutti gli elementi del modulo che si occupano della registrazione
risposta data 15.03.2014 - 00:44
fonte
0

Sfondo

Stavo esaminando il codice sorgente di Chromium per determinare se esiste una lista nera o una possibilità di filtro per le voci della cronologia. Ho controllato i seguenti file che sono responsabili dell'intera gestione della cronologia:

  • history.cc
  • history.h
  • history_data.cc
  • history_data.h
  • history_data_observer.h
  • history_data_store.cc
  • history_data_store.h
  • history_data_store_unittest.cc

La risposta

No, non c'è modo di farlo. Come hai accennato e la risposta prima che la mia suggerisce, devi usare le richieste POST per prevenire fughe di informazioni come queste.

    
risposta data 25.06.2016 - 23:39
fonte

Leggi altre domande sui tag