Domanda

Sto usando window.onback = history.forward (); per impedire agli utenti di inviare nuovamente i dati. So che è un trucco e non mi piace neanche, ma non è di questo che tratta questa domanda. Il problema è che il codice impedisce ad altre pagine di tornare alla pagina con il codice. Vorrei chiarire.

PageA.aspx contiene il codice JavaScript. L'utente invia PageA, preme Indietro e non succede nulla. Quello è buono. Ora l'utente fa clic su un collegamento a PageB.aspx, che non ha il codice non . Quando l'utente fa clic sul pulsante Indietro, che dovrebbe portarla a PageA.aspx, non lo fa. Presenta lo stesso comportamento di se PageB avesse il codice JavaScript no-back.

Ecco come l'ho implementato in PageA.aspx:

<script type="text/javascript">
window.onback = history.forward();
</script>

Ho confermato che questo codice è solo in PageA.aspx e non nel master, include o altro. Questa è un'applicazione ASP.NET 2.0 in esecuzione in SharePoint 2007. Il browser è IE7.

Qualche idea?

È stato utile?

Soluzione

Non ho il tempo (o SharePoint07) di riprodurre l'ambiente e lo scenario, ma cosa succede se si inserisce un test di localizzazione in JavaScript?

Qualcosa del genere:

<script type="text/javascript">
if (window.location.indexOf("PageA.aspx", 0) > 0)
{
   window.onback = history.forward();
}
</script>

Non riesco a spiegare cosa sta succedendo, ma ciò dovrebbe aiutare a limitare la portata dell'hacking.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top