Newsgroup: it.comp.www.php
Titolo: tutela codice PHP

Salve a tutti.
La domanda è un'po inconsueta, ma sono sicuro che non capita solo a me.
Problema: avrei la necessità di tutelare il mio codice PHP che risiede
presso un provider di cui, però, "non mi fido".
La cosa migliore, lo so, è cambiare provider. Ma diciamo che, per me, non è
possibile.
Conoscete qualche trucco (che so io, pagine particolari che eseguono certe
azioni, tipo modificare le pagine, visualizzare righe html nascoste,
etc....). Ovviamente se il provider preleva il codice e lo modifica, non
posso fare nulla.
Voi che ne dite?
Come fate?
La proprietà del codice ha un senso ancora, ... no?
Non ho progettato niente che non si trovi su un tutorial su internet, ma ci
tengo alla mia professionalità, anche se modesta. Se non altro per le ore di
sonno perse per far funzionare il tutto.
Grazie e scusate lo sfogo.
Credo che mi capiate.
MaxBlack

 Come fate?
- Zend Encoder o similare
oppure
- usare xmlrpc (
http://xmlrpc.usefulinc.com/php.html
) o similare
oppure
- tutelarsi legalmente
oppure
- tutte e tre le soluz.
ciao
max

 Credo che mi capiate.
tralascio ogni dichiarazione sull'open source.
di flames ne ho sollevati abbastanza!!!
buona codificazione...
-- 
Punkarruso
mail:punkarruso(at)geniotradottoininglese(dot)it
pubblicità progresso:
http://www.ic.unicamp.br/~oliva/papers/free-software/selection-html/

 presso un provider di cui, però, "non mi fido".
Cerca code obfuscation (o facciamo lavorare il trampolino:
 
http://php.dopoil.com/sg.php?proteggere+codice+php
 
http://php.dopoil.com/wg.php?code+obfuscation+php+open+source
)
Le altre soluzioni tipo Zend devono AFAIS essere installati, non penso che
un provider lo permette.
da un vecchio thread (ho tolto le parti provider dependend):
Potresti usare:
- techniche di code obfuscation (cerca con google "code obfuscation
php", 
http://www.badpen.com/dev/obf.php
, bei esempi in perl:
http://www.perlmonks.org/index.pl?node=Obfuscated%20Code
)
- usa eval() per eseguire pezzi di codice che carichi da una file che
sembra innoqua ("logo.gif", "head.html")
- tracking da quale server arrivano le richieste del Server
($SERVER_ADDR, $SERVER_NAME, $SERVER_ADMIN).
- checksum sul tuo codice php (carica file stesso, calcola il suo
checksum e lo verifichi nello stesso file, chiaro che il checksum cambia
quando cambi il checksum, non facile da capire).
- basati su qualche variabile environment (getenv) che sono settati nel
server,
se non trovi la variabile fai qualcosa (versione demo).
- non documentare (tieni pero' tu una copia documentata)

- usare xmlrpc (
http://xmlrpc.usefulinc.com/php.html
) o similare
Ma questo ti obbliga comunque a pubblicare il codice: XMLRPC e' open
source.
(E' il motivo per cui mi sto riscrivendo qualcosa di simile <g>)
E poi rimane il problema di eseguire il server.
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

> Credo che mi capiate.
Grazie.
MaxBlack

 E poi rimane il problema di eseguire il server.
vero, ma con un unico punto di server puoi poi servire diversi client ...
max

server in un'altra macchina ...
Be', a quel punto non conviene semplicemente spostare le pagine?
Sostituisci "quasi" ogni cosa con
<?
	include 'post2get.php';
	// La GET è "visibile" solo fra i due servers; il cliente
	// non si accorge di niente.
	$CLI = Post2Get();
	passthru("
http://serverfidato.com/path1/$PHP_SELF?$CLI
");
?>
e hai fatto, senza tirare in ballo protocolli strani. Ci vorra',
magari, un po' di stress per implementare le sessioni - ma basta
salvare, nella sessione del server farlocco, il $PHPSESSID della
sessione fornita dal server sicuro, e il gioco e' fatto.


 e hai fatto, senza tirare in ballo protocolli strani.
infatti nel mio primo post citavo xmlrpc o similari ...
max

infatti nel mio primo post citavo xmlrpc o similari ...
Uh... non ci arrivo.
Colpa mia, senz'altro.
Leonardo (si`)

 La proprietà del codice ha un senso ancora, ... no?
Leggi qualche articolo sull'opensource...capirai quanto è importante
per il progresso tecnologico l'abolizione della proprietà del codice e
la cooperazione:
"Per anni, fin quando un'associazione lo ha reso non necessario, mi
sono guadagnato da vivere con miglioramenti a richiesta del software
libero che avevo scritto. Ciascun miglioramento è stato aggiunto alla
versione standard rilasciata e reso così disponibile al pubblico. I
clienti mi pagavano perché io lavorassi sui miglioramenti che volevano
loro"
Questo è un estratto da 
http://www.gnu.org/philosophy/why-free.it.html
Questa è una mia opinione, spero almeno ci ragionerai un po' su.
Ciao!
p.s. lo so è il solito post noiosissimo sull'opensource, ma nessuno lo
aveva scritto (o quasi), qualcuno doveva pur farlo no?:)