Discussione:
Scrivere file su computer locale
(troppo vecchio per rispondere)
Mavimo
2006-09-21 10:25:39 UTC
Permalink
Ciao a tutti,
volevo sapere se è possibile utilizzando JS scrivere file lato client.
Teoricamente non si può per problemi di sicurezza, quindi la mia prima
risposta era stata: No, non si può fare.
Il fatto è che lo script deve prelevare delle informazioni che l'utente
immette tramite un'interfaccia XUL e scriverle su di un file. ora poichè
le estensioni di Firefox possono scrivere file in locale, come posso
fare per permettere che il mio script (chiamato all'interno
dell'interfaccia XUL) mi permetta di scrivere file?
DE realizzare un pacchetto per l'installazione in modo da far capire a
FF che è uno script sicuro o che altro?

Grazie
Mavimo

PS: non so se è esattamente una domanda da i.c.l.js, se non lo fosse
potreste indicarmi il NG adatto?
--
http://mavimo.netsons.org
ZER0
2006-09-21 10:46:16 UTC
Permalink
Post by Mavimo
Il fatto è che lo script deve prelevare delle informazioni che l'utente
immette tramite un'interfaccia XUL e scriverle su di un file. ora poichè
le estensioni di Firefox possono scrivere file in locale, come posso
fare per permettere che il mio script (chiamato all'interno
dell'interfaccia XUL) mi permetta di scrivere file?
Dipende cos'è la tua interfaccia XUL. E' un estensione, appunto? Oppure è
XUL Remoto? O è un applicazione chrome registrata?

In ogni caso, devi utilizzare XPCOM per far ciò. La differenza sta nei
privilegi che devi eventualmente richiedere all'utente, se sei in un
contesto "non sicuro", come potrebbe XUL Remoto.
Post by Mavimo
DE realizzare un pacchetto per l'installazione in modo da far capire a
FF che è uno script sicuro o che altro?
Dipende che tipo di applicazione si tratta, appunto. Se fai un pacchetto di
installazione, allora presumo che sia un'applicazione da installare. In tal
caso, hai già tutti i privilegi abilitati che ti servono (in quanto è, a
tutti gli effetti, un applicazione).
Post by Mavimo
PS: non so se è esattamente una domanda da i.c.l.js, se non lo fosse
potreste indicarmi il NG adatto?
Il neonato newsgroup mozilla.dev.general.it, direi che è più indicato per
questo genere di problematiche.
--
~ Il lavoro è prezioso. Non essere egoista! Lascialo agli altri!
Mavimo
2006-09-21 11:02:25 UTC
Permalink
Post by ZER0
Post by Mavimo
Il fatto è che lo script deve prelevare delle informazioni che l'utente
immette tramite un'interfaccia XUL e scriverle su di un file. ora poichè
le estensioni di Firefox possono scrivere file in locale, come posso
fare per permettere che il mio script (chiamato all'interno
dell'interfaccia XUL) mi permetta di scrivere file?
Dipende cos'è la tua interfaccia XUL. E' un estensione, appunto? Oppure è
XUL Remoto? O è un applicazione chrome registrata?
Allora... potrebbe essere un'estensione, ma preferirei lasciarla come
applicazione remota, quindi al massimo potrei passare tutti i dati al
server e da li comporre il file e farlo scaricare al client, ma se era
possibile preferivo evitare questo giro ero più contento (problemi di
banda & c).
Post by ZER0
In ogni caso, devi utilizzare XPCOM per far ciò. La differenza sta nei
privilegi che devi eventualmente richiedere all'utente, se sei in un
contesto "non sicuro", come potrebbe XUL Remoto.
Veramente per la scrittura avevo provato gli script presenti su:

http://www.captain.at/programming/xul/captain.zip

Il problema che rimaneva era proprio dei permessi...
XPCOM non lo conosco, eventualemnte è "possibile" chiedere al client di
fornirmi questi privilegi? devo abbassare il livello di sicurezza di
tutto il browser o posso abilitare solo determinati siti?
Post by ZER0
Post by Mavimo
DE realizzare un pacchetto per l'installazione in modo da far capire a
FF che è uno script sicuro o che altro?
Dipende che tipo di applicazione si tratta, appunto. Se fai un pacchetto di
installazione, allora presumo che sia un'applicazione da installare. In tal
caso, hai già tutti i privilegi abilitati che ti servono (in quanto è, a
tutti gli effetti, un applicazione).
Veramente il fatto dell'installazione l'avevo pensato proprio per
aggirare i problemi di protezione, ma se era possibile lasciare i file
in remoto e abilitare solo la scrittura dei file... o al limite potrei
creare un pacchetto in versione minimale che poi richiama i file JS e
XUL remoti? in questo modo potrei avere completo controllo e fare tutte
le modifiche che mi servono man mano, mentre nel contempo gli utenti
possono utilizzare le funzionalità già pronte...
Post by ZER0
Post by Mavimo
PS: non so se è esattamente una domanda da i.c.l.js, se non lo fosse
potreste indicarmi il NG adatto?
Il neonato newsgroup mozilla.dev.general.it, direi che è più indicato per
questo genere di problematiche.
Ok, grazie solo che nel news server che uso non è visibile (per ora), ne
cercherò un'altro :P

Ciao e grazie ancora

Mavimo
--
http://mavimo.netsons.org
hk3project
2006-09-21 13:28:31 UTC
Permalink
Post by Mavimo
Post by ZER0
Il neonato newsgroup mozilla.dev.general.it, direi che è più indicato per
questo genere di problematiche.
Ok, grazie solo che nel news server che uso non è visibile (per ora), ne
cercherò un'altro :P
su news.mozilla.org lo trovi
ZER0
2006-09-21 14:09:02 UTC
Permalink
Post by Mavimo
Post by ZER0
In ogni caso, devi utilizzare XPCOM per far ciò. La differenza sta nei
privilegi che devi eventualmente richiedere all'utente, se sei in un
contesto "non sicuro", come potrebbe XUL Remoto.
http://www.captain.at/programming/xul/captain.zip
Che sicuramente fanno uso di XPCOM, anche perché l'alternativa sarebbe la
magia o l'alchimia. :)
Post by Mavimo
Il problema che rimaneva era proprio dei permessi...
Non ho guardando lo zip, ma all'url che hai fornito:

http://www.captain.at/programming/xul/

parla proprio di quelli:

try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("Permission to save file was denied.");
}
Post by Mavimo
XPCOM non lo conosco, eventualemnte è "possibile" chiedere al client di
fornirmi questi privilegi? devo abbassare il livello di sicurezza di
tutto il browser o posso abilitare solo determinati siti?
Leggi su.
Post by Mavimo
Veramente il fatto dell'installazione l'avevo pensato proprio per
aggirare i problemi di protezione, ma se era possibile lasciare i file
in remoto e abilitare solo la scrittura dei file...
Si, chiedendo il permesso all'utente; che può ovviamente rifiutare.
Post by Mavimo
creare un pacchetto in versione minimale che poi richiama i file JS e
XUL remoti? in questo modo potrei avere completo controllo e fare tutte
le modifiche che mi servono man mano, mentre nel contempo gli utenti
possono utilizzare le funzionalità già pronte...
Firefox ha una funzione di auto-update per quanto riguarda le estensioni,
nel caso sfrutta quella, no?
Post by Mavimo
Post by ZER0
Il neonato newsgroup mozilla.dev.general.it, direi che è più indicato per
questo genere di problematiche.
Ok, grazie solo che nel news server che uso non è visibile (per ora), ne
cercherò un'altro :P
Come ti è già stato detto, lo puoi trovare sul new server pubblico di
mozilla.
Post by Mavimo
Ciao e grazie ancora
De nada, per così poco.
--
~ Il computer è una macchina progettata per velocizzare e automatizzare
gli errori.
Mavimo
2006-09-21 14:52:41 UTC
Permalink
Post by ZER0
Post by Mavimo
Veramente il fatto dell'installazione l'avevo pensato proprio per
aggirare i problemi di protezione, ma se era possibile lasciare i file
in remoto e abilitare solo la scrittura dei file...
Si, chiedendo il permesso all'utente; che può ovviamente rifiutare.
Ok, ma come? ho provato a ravanare nelle impostazioni di FF, ma non ho
trovato nulla che mi potesse interessare (o mi sno perso qualche cosa?)
mi servirebbe che ci fosse qualche opzione per cui esce la barra gialla
in alto (quella che quando vai su un sito che ha file *.xpi ti chiede se
consentire al sito di installare estensioni)
Post by ZER0
Firefox ha una funzione di auto-update per quanto riguarda le estensioni,
nel caso sfrutta quella, no?
Mi sa che alla fien farò così, anche se il fatto di non far installare
nulla mi piaceva di più, semplicemente gli davo il link e gli utenti
dovevano dare il permesso, senza dover installare l'extension e
ricaricare FF ogni volta che faccio una modifica :P
Post by ZER0
Come ti è già stato detto, lo puoi trovare sul new server pubblico di
mozilla.
Sottoscritto, per ora è un pò desolato, vedremo come evolve :)
Post by ZER0
Post by Mavimo
Ciao e grazie ancora
De nada, per così poco.
Ne ho approfittato ancora un pò :)

Ciao
Mavimo
--
http://mavimo.netsons.org
ZER0
2006-09-21 15:05:35 UTC
Permalink
Post by Mavimo
Post by ZER0
Si, chiedendo il permesso all'utente; che può ovviamente rifiutare.
Ok, ma come?
Ehm, te l'ho giusto giusto scritto nel post precedente, eh. :)
Post by Mavimo
Post by ZER0
Come ti è già stato detto, lo puoi trovare sul new server pubblico di
mozilla.
Sottoscritto, per ora è un pò desolato, vedremo come evolve :)
Come ho detto, è nato da poco.
--
~ Neanche il futuro e' piu' quello di una volta.
Mavimo
2006-09-21 15:29:23 UTC
Permalink
Post by ZER0
Post by Mavimo
Post by ZER0
Si, chiedendo il permesso all'utente; che può ovviamente rifiutare.
Ok, ma come?
Ehm, te l'ho giusto giusto scritto nel post precedente, eh. :)
Post by Mavimo
Post by ZER0
Si, chiedendo il permesso all'utente; che può ovviamente rifiutare.
Ora la ima domanda è come posso chieder il permesso all'utente? (Sempre
procedendo nell'ipotesi di non voler installare nulla... ho letto anche:

http://www.xulplanet.com/references/xpcomref/group_Files.html

Come consigliato da ZeD ma non ne sono venuto a capo...
Non esiste qualche funzione tipo:
chiedipermesso()
che visualizza un alert tipo:
__________________________________
| |
| Tizio vuole scrivere sul tuo PC, |
| gli dai il permesso? |
| |
| SI NO |
|__________________________________|

A questo punto è diventata pura curiosità, visto che ho optato per
un'extension, ma nel caso decidessi di tornare indietro (o per il futuro
:P )

Ancora grazie 10^3

Mavimo
--
http://mavimo.netsons.org
ZER0
2006-09-21 15:33:15 UTC
Permalink
Post by ZER0
Post by Mavimo
Post by ZER0
Si, chiedendo il permesso all'utente; che può ovviamente rifiutare.
Ok, ma come?
Ehm, te l'ho giusto giusto scritto nel post precedente, eh. :)
Post by Mavimo
Post by ZER0
Si, chiedendo il permesso all'utente; che può ovviamente rifiutare.
*Sigh*
Allora: prendi il suddetto mio post, che per inciso ha come riferimento:

<news:***@ID-171124.news.individual.net>

E leggi dalla quattordicesima alla ventiseiesima riga. :)
--
~ ..ma in effetti il concetto di WYSIWYG (quello che vedi è quello che
ottieni) si applica ai computer malissimo, così come si applica alle
donne... (The Real Programmer)
Mavimo
2006-09-21 15:44:30 UTC
Permalink
Post by ZER0
*Sigh*
E leggi dalla quattordicesima alla ventiseiesima riga. :)
Mi cospargo il capo di cenere...
...nella fretta avevo capito che quello era un estratto del codice
presente dell'archivio che ti avevo indicato, mentre è la soluzione al
mio problema :P

Ora non disturbo più :)

Mavimo
--
http://mavimo.netsons.org
Mavimo
2006-09-21 18:58:35 UTC
Permalink
Post by Mavimo
Post by ZER0
*Sigh*
E leggi dalla quattordicesima alla ventiseiesima riga. :)
Mi cospargo il capo di cenere...
....nella fretta avevo capito che quello era un estratto del codice
presente dell'archivio che ti avevo indicato, mentre è la soluzione al
mio problema :P
Ma porc#%&££$ £$£%£$ ho capito perche' non mi chiedeva se volevo
abilitare i permessi... c'era da abilitare la seguente chiave

signed.applets.codebase_principal_support = true

all'interno dell'about:config di FF altrimenti, anche con l'opzione
consigliata da te e che era già abilitata nello script che usavo, non
dava mai i permessi di scrittura e lettura...

Ciao
Mavimo
--
http://mavimo.netsons.org
ZER0
2006-09-22 07:06:57 UTC
Permalink
Post by Mavimo
Ma porc#%&££$ £$£%£$ ho capito perche' non mi chiedeva se volevo
abilitare i permessi... c'era da abilitare la seguente chiave
signed.applets.codebase_principal_support = true
La cosa mi suona un po' strana, perché - sebbene io non abbia mai fatto cose
del genere - avevo visto alcune demo all'epoca che chiedevano determinati
privilegi, e non c'era bisogno di modificare alcuna impostazione di default
del browser.

La prima cosa che mi viene in mente è che abbiano modificato il
comportamento di default nelle successive release di Firefox/Gecko; ma tutto
può essere.

Chiederò su mdgi.
--
~ "Non hai veramente capito qualcosa fino a quando non sei in grado
di spiegarlo a tua nonna." (Einstein)
ZER0
2006-09-22 06:48:23 UTC
Permalink
Post by Mavimo
Post by ZER0
*Sigh*
E leggi dalla quattordicesima alla ventiseiesima riga. :)
Mi cospargo il capo di cenere...
...nella fretta avevo capito che quello era un estratto del codice
presente dell'archivio che ti avevo indicato,
E difatti così è.
Post by Mavimo
mentre è la soluzione al mio problema :P
E difatti è anche quello.
--
~ "Se un uomo non è disposto a lottare per le sue idee,
o le sue idee non valgono nulla o non vale niente lui." (Ezra Pound)
ZeD
2006-09-21 10:47:11 UTC
Permalink
Post by Mavimo
Il fatto è che lo script deve prelevare delle informazioni che l'utente
immette tramite un'interfaccia XUL e scriverle su di un file. ora poichè
le estensioni di Firefox possono scrivere file in locale, come posso
fare per permettere che il mio script (chiamato all'interno
dell'interfaccia XUL) mi permetta di scrivere file?
http://www.xulplanet.com/references/xpcomref/group_Files.html
Post by Mavimo
PS: non so se è esattamente una domanda da i.c.l.js, se non lo fosse
potreste indicarmi il NG adatto?
mozilla.dev.*? (tra l'altro da poco e' nato mozilla.dev.general.it)
--
Under construction
Continua a leggere su narkive:
Loading...