View Full Version : [php] Proteggere conteuto di file e cartelle
Buongiorno, innanzitutto ;)
Con il php genero dei file di testo (con dati prelevati da un db mysql - server locale) che poi vado a recuperare da dentro ad una condivisa.
Quello che mi serve è rendere inaccessibile detto file, perchè dovrà essere recuperato da altre persone e non voglio che vedano/modifichino il contenuto del file.
Poichè li genero dentro una cartella "ora" che a sua volta sta dentro una cartella "data", l'ideale sarebbe proteggere l'intera cartella "data".
Avevo pensato ad una compressione zip con password, ma non so se è fattibile anche in termine di tempo di realizzo via php.
In rete ho trovato qualcosa, ma senza password.
Avete altre idee in mente?
Grazie, come sempre ;)
Buongiorno, innanzitutto ;)
Con il php genero dei file di testo (con dati prelevati da un db mysql - server locale) che poi vado a recuperare da dentro ad una condivisa.
Quello che mi serve è rendere inaccessibile detto file, perchè dovrà essere recuperato da altre persone e non voglio che vedano/modifichino il contenuto del file.
Poichè li genero dentro una cartella "ora" che a sua volta sta dentro una cartella "data", l'ideale sarebbe proteggere l'intera cartella "data".
Avevo pensato ad una compressione zip con password, ma non so se è fattibile anche in termine di tempo di realizzo via php.
In rete ho trovato qualcosa, ma senza password.
Avete altre idee in mente?
Grazie, come sempre ;)
proteggere TUTTO l'accesso alla directory con .htaccess?
proteggere TUTTO l'accesso alla directory con .htaccess?
No, perchè poi dovrei comunicare le chiavi di accesso alla persona che deve recuperare, senza poter leggere/modificare il file...quindi tanto vale ;)
No, perchè poi dovrei comunicare le chiavi di accesso alla persona che deve recuperare, senza poter leggere/modificare il file...quindi tanto vale ;)
A te quindi interessa dare accesso alla directory ma non farli modificare/visualizzare il file? A che Pro scusami? (Non perfarmi i fatti tuoi, ma giusto per capire).
Se così fosse anche un accesso FTP per ogni utenza (il che significherebbe utente linux per ogni utenza FTP) con accessi in sola lettura per quella determinata cartella.
A te quindi interessa dare accesso alla directory ma non farli modificare/visualizzare il file? A che Pro scusami? (Non perfarmi i fatti tuoi, ma giusto per capire).
No problem ;)
In pratica tramite script php viene popolato il db di dati vari...ogni settimana sempre tramite script php viene generato un file di testo che contiene determinate informazioni raccolte nell'arco della settimana.
Questo file è accessibile, in teoria, a tutti i "ficcanaso", ma poco mi importa, l'impportante è che non venga letto il contenuto!
Poichè dovrà essere "trasportato" a me che sto in altra città, devo "proteggerlo" dalla lettura (il contenuto del file) e dalla scrittura.
Non può arrivarmi modificato...(*)
Così facendo, tramite chiave usb io ho modo di farmi recapitare tale file e poi me lo lavoro io...
Il tutto su un pc locale su cui è installato mysql.
Non so se è tutto chiaro. :)
(*) forse potrei banalmente fare un controllo con l'algoritmo crittografico di hashing MD5...
No problem ;)
In pratica tramite script php viene popolato il db di dati vari...ogni settimana sempre tramite script php viene generato un file di testo che contiene determinate informazioni raccolte nell'arco della settimana.
Questo file è accessibile, in teoria, a tutti i "ficcanaso", ma poco mi importa, l'impportante è che non venga letto il contenuto!
Poichè dovrà essere "trasportato" a me che sto in altra città, devo "proteggerlo" dalla lettura (il contenuto del file) e dalla scrittura.
Non può arrivarmi modificato...(*)
Così facendo, tramite chiave usb io ho modo di farmi recapitare tale file e poi me lo lavoro io...
Il tutto su un pc locale su cui è installato mysql.
Non so se è tutto chiaro. :)
(*) forse potrei banalmente fare un controllo con l'algoritmo crittografico di hashing MD5...
Niente di più chiaro.
Prova con :
system('zip -P pass file.zip file.txt');
http://php.net/manual/en/function.system.php
Niente di più chiaro.
Prova con :
system('zip -P pass file.zip file.txt');
Interessante: sto provando, ma non mi genera il file zip...eppure i path sono corretti...
Interessante: sto provando, ma non mi genera il file zip...eppure i path sono corretti...
Devi aver installato l'utility zip sul server altrimenti non va.
Devi aver installato l'utility zip sul server altrimenti non va.
Ah...ecco. Un link? ;)
Ah...ecco. Un link? ;)
link (http://www.cyberciti.biz/tips/how-can-i-zipping-and-unzipping-files-under-linux.html)
Se hai una GNU/Debian :)
No, server Windows.
Sono a metà strada (credo).
Ho installato 7zip sul server e da linea di comando (CMD) tramite:
7z a -t7z cartella cartella.zip -pPASSWORD
Ottengo un file cartella compressa protetta da password! ;)
Adesso devo riportare tutto in php, considerato che 7zip è installato in c:\Program Files\7-zip, la cartella da zippare si trova in root\dir2\cartella
I path mi stanno fregando e non funziona :mbe:
No, server Windows.
Sono a metà strada (credo).
Ho installato 7zip sul server e da linea di comando (CMD) tramite:
7z a -t7z cartella cartella.zip -pPASSWORD
Ottengo un file cartella compressa protetta da password! ;)
Adesso devo riportare tutto in php, considerato che 7zip è installato in c:\Program Files\7-zip, la cartella da zippare si trova in root\dir2\cartella
I path mi stanno fregando e non funziona :mbe:
Non conosco Windows sinceramente così a fondo ma penso tu debba inserire l'eseguibile di 7zip nel path di sistema :)
Guarda qui (http://www.info-zip.org/Zip.html#Win32) per Windows.
PS. a dire il vero mi pare ci sia anche la liberria 'ZIP' di PHP; link (http://php.net/manual/en/book.zip.php), è in fase sperimentale e temo supporti SOLO PHP 4 (ma non sono sicuro e non ricordo bene, per il resto rimaniamo sulla system()).
Ho provato creando un file prova.bat contenente
c:
cd C:\Program Files\7-Zip
7z a -t7z D:\....\test.7z D:\....\test -pPIPPO
e l'ho messo nella root e poi l'ho richiamato tramite
exec("prova.bat");
e funge! :D
Grazie ragazzi! ;)
Per completezza, qualora servisse ad altri, ho concluso in questo modo:
file.bat:
set Data=%date:~-4%-%date:~-7,2%-%date:~-10,2%
c:
cd C:\Program Files\7-Zip
7z a -y -t7z D:\...\file.7z D:\...\file.txt -pPASSWORD
d:
cd D:\...\
ren file.7z file_%Data%.7z
del file.txt
Alla fine ho optato per compattare con password il solo file in questione (file.txt), ad operazione avvenuta cancello l'originale e rinomino quello compresso (file.7z) aggiungendo la data nel nome del file, così alla fine mi trovo tanti file quanti ne vengono creati.
Così sul pc restano solo file protetti che miservono come backup ;)
La root sul webserver è in D:/...e lì ho messo il file.bat che poi eseguo tramite:
exec("file.bat");
L'ultima cosa che farò è quella di puntare il salvataggio del file compresso direttamente nell'unità (es.) G: (key usb) con G:\...\file.7z nel bat, così al termine dello script php il file è pronto per essere trasportato e sul disco fisso ci sono, come detto, solo file protetti.
Grazie di nuovo per le dritte ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.