2009-07-22 5 views
0

J'ai été à un forum de discussions css/html/js qui fournissent une zone de texte pour entrer le html et un "Run it!" bouton pour exécuter le html dans la nouvelle fenêtre pop-up.Sécurité des cookies de Pops Up Window

Je veux faire un aussi, ce qui est facile à jQuery:

function try_show_result() { 
    var code = $("#try-input").val(); 
    if (code !== "") { 
    var newwin = window.open('','',''); 
    newwin.opener = null; // 防止代ç 修改主页 
    newwin.document.write(code); 
    newwin.document.close(); 
    } 
} 

Mais je l'ai trouvé un problème de sécurité: les pops up fenêtre a toutes les capacités de l'exécution d'un javascript arbitraire. Ainsi, lorsqu'un autre utilisateur authentifié exécute un morceau de code donné sur la page, il risque de voler des cookies ou d'accéder à une URL réservée uniquement à l'utilisateur spécifié via les ajax posts.

Y at-il un moyen facile d'éviter cela?

Mise à jour: J'ai ajouté newwin.document.cookie = "" avant d'ouvrir la fenêtre, je ne sais pas si c'est mieux.

Répondre

0

Y at-il un moyen facile d'éviter cela?

Pas

C'est la raison pour laquelle Facebook est sorti et a écrit sa propre version de JavaScript [FBJS].

+0

Je décide de mettre une grande bannière rouge pour avertir l'utilisateur d'éviter d'exécuter un script inconnu des autres :( – Realfun