Domanda

Voglio avere gli sviluppatori a scrivere alcune applicazioni personalizzate per un sito in Javascript ma voglio sandbox in modo che non possono fare nulla di cattivo, come reindirizzare l'utente, impostare la visualizzazione del corpo a nessuno ecc ecc ho un namespace in Javascript dove vi possono servire esistono tutte le funzioni in là quindi stavo pensando di creare una sandbox sarebbe una questione di:

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

Come è facile per aggirare il problema e quali altri metodi può essere fatto? Avrei preferito non dover moderare tutte le app presentata.

È stato utile?

Soluzione

Per imporre una sandbox, si dovrà ispezionare il codice prima che sia eseguito, catturare qualsiasi codice non legittimo e se trovato, in qualche modo impedirne l'esecuzione. Molto noioso e incline a errori per un lungo periodo di tempo.

Facebook ha fatto questo, almeno nella loro piattaforma presto, ho, come sviluppatore, sicuramente non piace. Sono limitati i metodi nativi che potrebbero essere utilizzati, e hanno fornito gli involucri limitate intorno ad alcuni.

Altri suggerimenti

Bene, le opzioni per il codice sandbox al momento sono:

Entrambi consentono di creare un ambiente sicuro , dove l'accesso all'oggetto globale e il DOM è limitato.

Lo scopo principale di questi progetti è quello di permettere ai widget in modo sicuro incorporare e qualsiasi contenuto web da parte di terzi.

La prima cosa che viene in mente è eval. Possono utilizzare che per eseguire codice personalizzato al di fuori della sandbox involucro. Sarà molto difficile da fermare uno sviluppatore determinato dal tentativo di inserire il codice.

link all'uso di eval.

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