Question

Je veux avoir les développeurs à écrire des applications personnalisées pour un site en Javascript, mais je veux bac à sable si ils ne peuvent pas faire quoi que ce soit méchant comme redirigent l'utilisateur, régler l'affichage du corps sans pareil etc etc. J'ai un espace de noms dans Javascript où toutes les fonctions qu'ils auront jamais besoin d'exister là-bas donc je pensais créer un bac à sable serait une question de:

with(Namespace) {
    //App code goes here where they can only access Namespace.*
}

Comment est-il facile de se déplacer et ce que d'autres méthodes peuvent faire? Préférerais ne pas avoir à modérer toutes les applications soumises.

Était-ce utile?

La solution

Pour appliquer un bac à sable, vous devez inspecter le code avant qu'il ne soit exécuté, capturer tout code non légitime et si trouvé, en quelque sorte d'éviter de courir. Très fastidieux et sujettes à des erreurs pendant une longue période.

Facebook a fait au moins au début de leur plate-forme, je, en tant que développeur, certainement n'a pas en profiter. Ils ont limité les méthodes indigènes qui pourraient être utilisés, et ont fourni des enveloppes limitées autour de certains.

Autres conseils

Eh bien, les options de code bac à sable à l'heure actuelle sont:

Les deux vous permettent de créer un environnement sûr où l'accès à l'objet global et le DOM est limité.

Le principal objectif de ces projets est de vous permettre de widgets en toute sécurité et intégrer tout le contenu Web de tiers.

La première chose qui vient à l'esprit est eval. Ils peuvent l'utiliser pour exécuter du code personnalisé en dehors du bac à sable d'emballage. Il sera très difficile d'arrêter un développeur déterminé en essayant d'envelopper le code.

Lien à l'utilisation de eval.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top