Ma figurati...capisco benissimo...mica ti sbatti aggratis...volevo solo dire che non essendo il PHP pseudo-compilato (come il byte-code di java)...programmi e sorgente sono la stessa cosa!!![supersaibal]Originariamente inviato da sandroacchiardi
sì è in php ma non è un eseguibile
sono anch'io per l'open source ma ho fatto un lavoro pe un cliente ma non vorrei che lo desse a tutti i suoi amici
quindi volevo proteggere il codice
grazie [/supersaibal]
Il punto è proprio questo: certo puoi usare dei programmi che rimuovano commenti e sostituiscano le variabili in modo da rendere il codice quasi illeggibile da occhio umano ma nulla vieta di copiare il programma su un'altro computer!!!
Come fare a dire che una copia è...una copia? Quindi non autorizzata? L'unica soluzione potrebbe essere quella di 'annegare' nel codice le info relative alle id della macchina (nome server, percorso script...insomma le variabili $_SERVER ).
Queste variabili potrebbero essere 'criptate' con la funzione md5 del PHP e inserite nel codice.
Esempio banale :
In locale (bliz è un virtual host) mi viene data questa firma
echo $_SERVER['SERVER_SIGNATURE'];
Apache/1.3.31 Server at bliz Port 80
Questa stringa potresti trasformarla nella versione criptata
str = md5($_SERVER['SERVER_SIGNATURE']);
echo md5($_SERVER['SERVER_SIGNATURE']);
89cc6c40f69ac79ecba338d6369277b1
Nota che il processo è irreversibile...
Ogni volta che il programma si avvia verifica se
md5($_SERVER['SERVER_SIGNATURE']) == "89cc6c40f69ac79ecba338d6369277b1";
Se non lo è esce e scrive frasi oscene in corpo <h1>!!!
I sottoproblemi allora diventano
1) come fare a inserire queste stringhe in modo semiautomatico (installazione online, programma di installazione che genera il php finale inserendo la stringa, file sterno da leggere,...???)
2) come nascondere almeno per gli utenti più frolloconi
la procedura di check
Forse la cosa più semplice è scrivere un programmino semplice semplice di installazione da lanciare al momento (ma da non lasciare!!!) che genera il file di testo contenente le md5.
Nel codice che scrivi con comodo a casa/ufficio devi scrivere la procedura che legge il file e verifica con un codice che pure te faticheresti a capire...magari con istruzioni inutili e fuorvianti.
Se vuoi essere un vero professionista potresti fare come la Microsoft che fa la stessa cosa...solo online...
![]()