Newsgroup: it.comp.www.php
Titolo: E' possibile "controllare" il codice distribuito?

Ho realizzato uno script... ora dovrei distribuirlo ma vorrei evitare che 
venisse manipolato e/o divulgato a mia insaputa.
Come potrei comportarmi?
Per evitare manipolazioni, � possibile criptarlo?
Qualsiasi suggerimento � ben accetto.

 ha scritto nel messaggio 
news:48e4d6d5$0$14491$5fc...@news.tiscali.it...


 Per evitare manipolazioni, � possibile criptarlo?
per assurdo potresti fare in modo che il codice invii l'hash del file verso 
un tuo server previo autorizzazione dell'utente quindi apposita licenza... 
per assurdo 

"jesael" <jesae...@lycos.it.invalid> ha scritto nel messaggio 
news:48e4ed62$0$11388$5fc...@news.tiscali.it...

Interessante... ma visto gli assurdo che hai utlizzato credo impossibile da 
realizzare per milli motivi, giusto? 

 da realizzare per milli motivi, giusto?
guarda che ho trovato, magari � quello che cerchi:
Come criptare il proprio codice php
http://www.worldpress.it/?p=445
 

 realizzare per milli motivi, giusto? 
Perchè non provi la strada degli obfuscator e poi, dopo che hai preso la 
mano, con un vero e proprio sistema di criptazione del codice (tipo Zend 
Guard, IonCube, ecc.)? Questi strumenti hanno anche un buon sistema di 
controllo delle licenze, con gestione automatica di scadenze, 
installabilità, ecc. Sappi fin da subito che la sicurezza totale non 
esiste, praticamente ogni encoder ha già il suo bravo crack disponibile 
in giro sulla rete, a cercare bene si trova di tutto. Certo un encoder è 
comunque una buona barriera contro l'accesso al tuo codice sorgente, 
sempre meglio di niente; diciamo che l'uso dei crack richiede una 
competenza un pochettino (ma non troppo) superiore a quella del solito 
"utonto quadratico medio".
L'idea suggerita da Jesael ("fare in modo che il codice invii l'hash del 
file verso
un tuo server previo autorizzazione dell'utente quindi apposita 
licenza") a volte è considerata impraticabile perchè lega a doppio filo 
le sorti di funzionamento di un sistema (il certificatore) a quelle di 
un altro sistema (l'utilizzatore, tipicamente remoto): immagina ad 
esempio che il server certificatore vada in crash o sia offline per 
qualche motivo, ecco che l'utente della tua applicazione, pur in 
possesso del diritto d'uso, si trova impossibilitato a lavorare per 
cause esterne alla sua struttura. In sostanza, hai necessità di un 
server certificatore che sia online *sempre*, magari in doppia 
ridondanza. Tutto ovviamente dipende dalla grandezza del sistema che 
metti su, se si tratta di un'applicazioncina tutto ciò non ha alcun 
senso, sarebbe come sparare alla proverbiale zanzara col cannone... 
Ovviamente vale sempre la considerazione ultraefficientista che "quel 
che non c'è, non può rompersi" :-)
E' comunque una strada praticabile in certi contesti, ad esempio noi la 
stiamo implementando in un sistema gestionale che prevedrà l'uso di più 
macchine, in un ambiente LAN piuttosto articolato; lì un server 
certificatore, fisicamente inaccessibile agli utenti, stabilirà chi 
potrà fare cosa nell'ambito dell'applicativo.
Alla fine è solo questione di fantasia/necessità/disponibilità. 
Personalmente credo che un sistema, appena diventa così importante da 
richiedere interventi di salvaguardia, non possa prescindere dal 
supporto legale. Lì puoi mettere paletti importanti per limitare 
l'utilizzo di ciò che hai creato entro ben determinati ambiti. A quel 
punto, coperto da una licenza robusta, forse puoi anche iniziare a 
fregartene di rendere inagibile il codice, e modellare il tuo business 
su una filosofia opensource, ma qui usciamo un po' dal topic in oggetto...
-- 
Falco Stellare
DeepVoid: 
www.deepvoid.it
DeepVoid's Log: 
www.deepvoidlog.com

 [...]
ti ringrazio, molto esauriente.
Sto provando con alcuni algoritmi che offuscano il codice e sarebbero 
ottimale, ne ho trovati alcuni che limitano l'uso del codice ad un certo IP 
purtroppo, come dici tu, in rete esistono già gli antidoti. Comunque grazie.