recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment vider le cache du navigateur par programme ?

<p>Je recherche un moyen de vider le cache du navigateur par programmation. Je fais cela parce que l'application met en cache les données confidentielles et je souhaite les supprimer lorsque vous appuyez sur « déconnexion ». Ceci peut être réalisé via le serveur ou JavaScript. Bien sûr, l'utilisation de ce logiciel sur des ordinateurs étrangers/publics est toujours déconseillée car il existe davantage de dangers, tels que les enregistreurs de frappe, que vous ne pouvez tout simplement pas vaincre au niveau logiciel. </p>
P粉419164700P粉419164700510 Il y a quelques jours716

répondre à tous(2)je répondrai

  • P粉990568283

    P粉9905682832023-08-02 11:31:57

    Il est impossible pour le navigateur de vous laisser vider son cache. Ce serait un énorme problème de sécurité si cela était possible. Il est facile d'en abuser - dès qu'un navigateur prend en charge cette "fonctionnalité", je la désinstallerai de mon ordinateur.

    Tout ce que vous pouvez faire est de lui dire de ne pas mettre votre page en cache, en envoyant un titre approprié ou en utilisant ces balises méta :

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

    Vous pouvez également envisager de désactiver la saisie semi-automatique sur les champs du formulaire, même si je crains qu'il existe une manière standard de procéder (voir cette question).

    Quoi qu'il en soit, je tiens à souligner que si vous traitez des données sensibles, vous devez utiliser SSL. Si vous n'utilisez pas SSL, toute personne ayant accès au réseau peut détecter le trafic réseau et voir facilement ce que voient vos utilisateurs.

    L'utilisation de SSL permet également à certains navigateurs de ne pas utiliser la mise en cache, sauf indication explicite de le faire. Jetez un œil à cette question.

    répondre
    0
  • P粉680487967

    P粉6804879672023-08-02 09:30:01

    C'est possible, vous pouvez simplement utiliser jQuery pour remplacer la "balise méta" faisant référence à l'état mis en cache par un gestionnaire/bouton d'événement, puis actualiser facilement.

    $('.button').click(function() {
        $.ajax({
            url: "",
            context: document.body,
            success: function(s,x){
    
                $('html[manifest=saveappoffline.appcache]').attr('content', '');
                    $(this).html(s);
            }
        }); 
    });

    Remarque : Cette solution s'appuie sur le cache d'application implémenté dans le cadre de la spécification HTML 5, elle nécessite également une configuration du serveur pour configurer le manifeste du cache d'application. Il ne décrit pas un moyen d'effacer le cache du navigateur "traditionnel" via du code côté client ou côté serveur, ce qui serait presque impossible à faire.

    répondre
    0
  • Annulerrépondre