Newsgroup: it.comp.www.php
Titolo: Compilare php

E' possibile compilare uno script in php in modo che una persona non possa
leggere il file php ma lo possa solo eseguire?
Grazie in anticipo

 ha scritto nel messaggio
news:uDT0a.94020$ZE.25...@twister2.libero.it...



se intendi che lo script giri su un server web, l'utente "browser" non 
vedrà mai in alcun caso il codice PHP.
ciao
Alesi_27

 Grazie in anticipo
certo sono sempre le stesse domande ma anche le STESSE risposte.
è ovvio che intenda:
come posso nascondere, magari criptando, il codice sorgente così che ne le
persone che hostano ne il mio cliente possano vedere il contenuto di un file
php, gli algoritmi usati, le password, le strutture dati etc etc.
la risposta è si
www.zend.com
cerca encoder.

 cerca encoder.
scusa l'ignoranza... immagino non esista un decoder oppure che la 
codificatura non sia facilmente decodificabile altrimenti a cosa serve ?
ciao
Alesi_27


bhè in teoria non dovrebbe essere facilmente decodificabile.
anche se tecniche di reverse engineering esistono in tutti i linguaggi.
diciamo che ha un paio di vantaggi.
1- tiene nascosto il sorgente. (comodo se vuoi vendere la tua app in licenza
d'uso e non vuoi vendere anche il cod sorgente, assicurandoti così anche il
compito della manutenzione)
2- addirittura ha come feature quella di dare un limite all'esecuzione dello
script (in giorni o mesi o anni)
(comodo se dai un prodotto e una volta installato tardano a pagarti.....
così dopo un pò si blocca da solo)
3- una volta "compilato" viene anche ottimizzato.
svantaggio necessita di php optimizer per funzionare (anche se è gratis, ma
alcuno hosting nn ce l'hanno installato).
diciamo che io non ne faccio uso.
di solito do il codice sorgente delle web-app che implemento.
però il vantaggio numero 2 mi porterebbe ad evitare di anticipare l'IVA per
chi tarda col pagamento!
ciao

 
in pratica è comunque una sorta di compilazione ??
Pensavo che si potrebbe realizzare un "qualcosa" (CGI) che implementi 
una decrittatura di file crittati php e che li mandi in esecuzione.
Magari utilizzando algoritmi di crittatura "veri" come tripleDES o IDEA 
(i quali dovrebbero resistere a tentativi di rompere una chiave su un 
solo elaboratore per almeno qualche millennio) e scrivendo il CGI in C 
potrebbe non risultare troppo pesante, però il tutto è sempre "lato 
server" quindi praticamente irrealizzabile :)
ciao
Alesi_27

 Grazie in anticipo
http://www.ioncube.com
Encoding with compiled code and more!


bhè potresti crittografare usando php stesso (funzioni mcrypt) ma il
problema è sempre la chiave.
cmq risulta tutto un pò macchinoso e pesante.
per un'esecuzione devi decrittografare tenere tutto in un buffer ed
eseguire.
a questo punto se fai di php il tuo mestiere e se hai bisogno per qualche
motivo di tenere i sorgenti nascosti
allora ti conviene comprare l'encoder da zend.
ciao

si ma devi usare un moduo apposito il che rende l'app non elastica (vedi
hosting da terzi)


...

Zend inoltre richiede un modulo, ma questo non è alcun problema.
ioncube inoltre offre più caratteristiche e un prezzo migliore ed il
modulo può essere installato senza modificare la lima di php.ini o
ricominciare il webserver, rendente la molto facile usare.
[Scusi prego il mio uso difficile di italiano!]