Newsgroup: it.comp.www.php
Titolo: Evitare che aggiundano codice ad un file "crittato"...

Da quello che ho imparato... crittare un file .php serve a pochissimo. :(
 
La domanda diventa: è possibile evitare o controllare che un file, che 
distribuisco, non venga modificato?
Cioè ho un file di questo tipo:
 
<?php if(!function_exists("TC9A16C47DA8EEE87")){function 
TC9A16C47DA8EEE87($T059EC46CFE335260){$T059EC46CFE335260=base64_decode($T059EC46CFE335260);$TC9A16C47DA8EEE87=0;$
...
...
/QAA+AAAAIA=="));?>
 
Posso escogitare un modo per evitare che venga aggiunto codice prima o dopo 
i tag <?php o ?> ? 
 
 

 dopo i tag <?php o ?> ?
 
No. Ma ci sono dei software che compilano PHP in bytecode, rendendone 
difficile (ma non impossibile) la decompilazione.
 
L'unico modo sicuro e` far girare il software su un tuo server.
 
Bye.
 

 L'unico modo sicuro e` far girare il software su un tuo server.
 
Già, ma devo distribuirlo, e non ho idea di come farlo in sicurezza.
Un'alternativa, ma non ho idea di come fare, è distribuire la parte css, 
html, js del "pacchetto" e far girare il php su un mio server, ma ripeto non 
ho idea di come fare e di come dimensionare adeguatamente il server.
 
 

 ho idea di come fare e di come dimensionare adeguatamente il server.
 
Dipende, potresti fare delle simulazioni e/o appoggiarti a servizi tipo 
https://phpfog.com
 che offrono una buona scalabilita'.
 
Ciao.
 
-- 
Pubblicita' regresso: 
http://www.ferrero.org
 
** Per scrivermi in mail, sostituire nutella con ferrero...
** To contact me by email, change nutella to ferrero...
 

 
https://phpfog.com
 che offrono una buona scalabilita'.
 
Mmmmh... sto leggendo. Grazie
 

 
https://phpfog.com
 che offrono una buona scalabilita'.
 
Sembra interessante ma non sono sicuro d'aver capito bene come funziona 
e come potrebbe essermi utile.


Dicevi che non hai idea di come dimensionare il server, questa potrebbe 
essere una soluzione, nel senso che puoi dinamicamente allocare piu' 
risorse e ridurle nel caso non siano piu' necessarie (il tutto entro 
certi limiti). Per altre informazioni: 
http://dev.appfog.com/features/article/scaling_your_application
 


 
http://dev.appfog.com/features/article/scaling_your_application
 
 
Ok! Grazie.
 

 distribuisco, non venga modificato?
 
Magari dico una cavolata, ma se l'esigenza e' solo controllare che il 
file non sia stato modificato, controllare tramite l'hash?
 
Ciao
-- 
MMM

 ho idea di come fare e di come dimensionare adeguatamente il server.
 
Definisci distribuirlo, non puoi distribuirlo sottoforma di servizio?
 
Anche perche' altrimenti la distribuzione diventa un po' macchinosa, chi acquista il software deve installarsi il web-server?
 
 
J.

 non sia stato modificato, controllare tramite l'hash?
 
Cioč potrei fare uno script che controlla l'hash del file?
Se fosse, potrebbe anche andare... 
 
 

 Se fosse, potrebbe anche andare...
 
Se il file con gli hash lo distribuisci assieme al software, cosa 
impedisce al "cracker" di modificare l'hash in quel file prima del check?
 
Dovresti fare l'hash di ogni singolo file del progetto, mandarlo a un 
server e fare il controllo li`, ma di nuovo: chi gli impedisce di 
cancellare il codice che fa il controllo?
 
Non hai scelta: o sposti tutto su un tuo server, o sposti su un tuo 
server le parti fondamentali (per esempio la gestione degli utenti o di 
qualche dato senza cui non funziona niente), oppure lo precompili e speri 
che piuttosto che perdere tempo a decompilare chiedano a te le modifiche.
 
Bye.
 

 impedisce al "cracker" di modificare l'hash in quel file prima del check?
 
Hai ragione anche tu... siamo sempre li. 
 
 

 impedisce al "cracker" di modificare l'hash in quel file prima del check?
 
Sicuramente, ma io mi riferivo alla richiesta di controllare che il file 
non sia stato modificato, in quel caso tu hai l'hash originale e lo 
confronti con quello sul server.
E' chiaro che se l'esigenza e' evitare che qualcun altro possa 
modificare il file e' diverso, ma se l'esigenza e' solo controllare se 
qualcuno lo ha fatto dovrebbe bastare.
 
Ciao
-- 
MMM

 confronti con quello sul server.
 
Si`, ma chi fa quel controllo? Il file sul client. Basta disattivare il 
controllo e fargli un "return true" e lo cracchi. :)
 
L'unica soluzione (parziale) e` di compilare.
 
Bye.
 

 controllo e fargli un "return true" e lo cracchi.:)
 
Da contratto ti fai lasciare aperta una via in ssh, lo script lo lanci 
dal tuo server su cui sono salvati tutti gli hash, calcoli da remoto gli 
hash dei file sul server del cliente e controlli.
 
La cosa che non mi e' chiara e' lo scopo di tale controllo, una volta 
che ho scoperto che un file e' stato modificato cosa succede? Decade 
qualche garanzia? Se e' cosi' e' un controllo che si puo' fare tutte le 
volte che si deve fare un intervento prima di iniziare l'intervento stesso.
 
Ciao
-- 
MMM

volte che si deve fare un intervento prima di iniziare l'intervento stesso.
 
Esatto. In quel caso si', ha senso... Tu vuoi che io sistemi uno script
che adoperi davvero, cosi' non ti servirebbe a nulla darmene un altro.
 
Leonardo
 
-- 
Tell us whether you spy, in the light of the morn,
what saluted was fiercely at the fall of the past day:
whose pips and whose bands in the very heart of the fray
bravely floated from the bulwarks to which we were sworn?