Dato che Google NaCl è C++, sarò in grado di accedere al file system in qualche modo? Questo è praticamente necessario se devo creare un gioco o un'applicazione per desktop.Posso accedere al filesystem con Google NaCl?
risposta
Sì, ma questo accesso è presumibilmente sicuro e può accedere solo a un file system sandbox. Apparentemente sarete in grado di fare chiamate mmap
, anche. Cosa potrebbe andare storto? :-)
Oltre ai file di dati forniti con il download, la quota disco aggiuntiva è un "privilegio di app" che devi "approvare" quando installi qualcosa. Può variare da 0 a illimitato.
La menzione di ActiveX è fonte di distrazione, l'ho modificata. Il punto è che penso che i servizi di sistema "sandboxing" siano spesso eseguiti male ... ci sono problemi di sicurezza anche nelle macchine virtuali, dove se si dispone di un host cloud che esegue più servizi da diversi autori possono perdere e gli hack da uno influenzano l'altro. Mi chiedo se qualcosa del genere può essere completa * e * sicura quando si esegue su sistemi client ... è l'una o l'altra, tipo di. Si tratta di compromessi per ottenere "natività" a scopo di esplorazione e non vedo un grande design qui. – HostileFork
La tua risposta e il tuo commento sono FUD istintivi, non fatti. "Altri hanno sbagliato, probabilmente anche loro" non è produttivo. Vi suggerisco di approfondire l'implementazione, osservate cosa hanno fatto i ricercatori di sicurezza con NaCl, esaminate i CVE per questo. NaCl è anche nel programma di bug bug di Chrome, ti verrebbe pagato se hai trovato difetti. @ La risposta di colt-mcanlis è molto più utile qui. –
@JFBastien No, sbagliato. È un'osservazione su qualcosa che è intrinsecamente più complesso da proteggere e astratto. Forse pensi che sia peachy che ora non riesco a leggere un articolo sul web senza JavaScript e gigabyte di download e spyware. E forse sei il tipo di persona che non ha avuto problemi quando si sono bloccati in "window.open()" - * non riescono nemmeno a farlo bene *. Non penso che sia una buona idea dare a quelle stesse persone mmap (perché ... come stai implementandolo, come lo stai proteggendo?), E dicendo "ti pagheranno per bug" indica che sei tu con il problema nel pensare - non io – HostileFork
A causa di limitazioni di sicurezza, NaCl non consente di aprire qualsiasi cartella sul disco.
Tuttavia, garantisce la possibilità di accedere a un filesystem in modalità sandboxed offuscato.
È possibile controllare l'esempio PONG nell'ultimo SDK per esempi su come utilizzare FileSystemAPI.
Inoltre, questa pagina è un buon punto di partenza per capire come funziona il sistema di file: https://developers.google.com/native-client/beta-docs/fileIO
~ principale
Prevenire un programma dal fare questo è ciò che NaCl è tutto. Avrai accesso solo a un'area di archiviazione isolata del disco. Molto simile all'oggetto localStorage di HTML5. –
@ HansPassant Intendi FileSystem di HTML5? localStorage è abbastanza diverso. Ad ogni modo, NaCl non fornisce questa funzionalità. Quindi suppongo che dobbiamo aspettare altre alternative. – Tower
@rFactor HTML5 può leggere apparentemente dal file system locale, sebbene l'utente debba selezionare il file da una finestra di dialogo "Apri". Per scrivere devi completare un'operazione "Salva come ...". Se NaCl non ha la capacità di fare queste cose da solo, può essere legato a HTML5 per lasciarlo fare. Gli esempi mostrano che passano i dati avanti e indietro: https://developers.google.com/native-client/sdk/examples – HostileFork