2010-02-03 6 views
7

Wie können Browser (IE, Firefox, Opera, Chrome) mit JavaScript oder Java gelöscht werden, außer dass sie vom Browser selbst gelöscht werden?Wie können Browser (IE, Firefox, Opera, Chrome) mit JavaScript oder Java gelöscht werden, außer vom Browser selbst?

+3

Mann, wäre es ärgerlich, wenn dies möglich war !? –

+0

Warum sollten Sie das jemals können? – animuson

+0

"So löschen Sie den Browserverlauf, außer dass er vom Browser selbst gelöscht wird?" Kannst du genauer sein? – rahul

Antwort

12

Die document.location-Daten in Browsern sind im Allgemeinen für Skripts nicht zugänglich, da der Zugriff gewährt würde, um einer beliebigen Site Zugriff auf den gesamten Browserverlauf zu gewähren. Sie können höchstens ein paar einfache Manipulationen vornehmen, wie zum Beispiel "Gehe zum History-Eintrag Nr. 37" oder "Gehe eine Seite zurück". Aber Sie können nicht tun "wie war die Adresse der Seite in Geschichte Eintrag # 23".

Die meisten Banking-Websites verwenden Javascript-Links, um zu verhindern, dass ein Klickverlauf aufgebaut wird. Sie machen document.location.replace ", um den letzten History-Eintrag (die aktuelle Seite) zu löschen und ihn durch die Adresse einer neuen Seite zu ersetzen. Es entfernt in der Tat die Option" zurück ", um eine Seite zurückzugehen, weil die vorherige Seite Seite (soweit das Browserverlauf betrifft) ist nun die neue Seite.

2

Kurz gesagt ist es nicht möglich, Sandboxing verhindert, dass Browser und die Scripts/Applets, die sie ausführen, Dateien ändern oder sogar erstellen, mit Ausnahme einiger weniger Fälle. Javascripts und Java-Applets, die berechtigt sind, andere Websites von Cookies oder Websiteinhalt in Ihrem Cache zu löschen, wären nicht wünschenswert.

+0

Aber ich bin auf einer bestimmten Banking-Website möglich. Wie haben sie das gemacht? – Yogi

1

Es gibt keine Möglichkeit, einen Browser, den Ihnen klar seinen Cache lassen. Es wäre ein großes Sicherheitsproblem, wenn das möglich wäre

Was Sie wenn yo

<meta http-equiv='cache-control' content='no-cache'> 
<meta http-equiv='expires' content='0'> 
<meta http-equiv='pragma' content='no-cache'> 

ich möchte darauf hinweisen, dass: tun können, ist es nicht zu sagen, um Ihre Seite cachen, indem sie die entsprechenden Header zu versenden oder diese Meta-Tags Wenn Sie mit sensiblen Daten arbeiten, sollten Sie SSL verwenden. Wenn Sie kein SSL verwenden, kann jeder mit Zugriff auf das Netzwerk auf Netzwerkverkehr zugreifen und einfach sehen, was Ihr Benutzer sieht.

Die Verwendung von SSL bewirkt auch, dass einige Browser das Caching nicht verwenden, es sei denn, dies wird ausdrücklich verlangt. Siehe diese Frage. Will web browsers cache content over https

0

Aber wenn Sie die acutally Seite löschen möchten, können Sie verwenden:

$(function() { 
 
//replace() does not keep the originating page in the session history, 
 
document.location.replace("/Exercises#nocache"); // clear the last entry in the history and redirect to new url 
 
});
Diese von einigen Bankseiten verwendet wird