Proteggere codice sorgente PHP: consigli?

Discussioni e problematiche sul linguaggio PHP

Moderatori: maurizio, markdesign

Regole del forum
Per scrivere del codice all'interno di ogni post, utilizzare il tag: [syntax=il_linguaggio]codice[/syntax] sostituendo "il_linguaggio" con il linguaggio del codice che dovete inserire, ad esempio: html, css, javascript, php, asp, ecc...

Proteggere codice sorgente PHP: consigli?

Messaggioda Marko » mercoledì 24 agosto 2011, 16:28

Salve a tutti. Come intuibile dal titolo del topic, vorrei dei consigli a proposito della protezione dei sorgenti PHP, in modo tale che chi dovesse avere accesso allo spazio web non ne modifichi o copi il codice. Ho letto in giro di alcuni programmi tra cui Bcompiler o Zend Encoder, ma se non ho capito male questi rallentano le performance degli script. Perciò mi piacerebbe sapere se ne valga la pena di attuare questa pratica, e se sì in che modo. Voi di solito proteggete il codice da voi prodotto?
Marko

Avatar utente
 
Messaggi: 11
Iscritto il: martedì 19 luglio 2011, 23:21

Re: Proteggere codice sorgente PHP: consigli?

Messaggioda Alien » martedì 30 agosto 2011, 9:45

Ciao.
Zend e IONcube sono soluzioni molto efficaci perchè proteggono il tuo codice al 100%.
Per il discorso delle prestazioni, forse rallentano ma veramente pochissimo.

Attento al prezzo però... è molto alto
Alien

Avatar utente
 
Messaggi: 1
Iscritto il: martedì 30 agosto 2011, 9:43

Re: Proteggere codice sorgente PHP: consigli?

Messaggioda Marko » lunedì 5 settembre 2011, 21:05

Ti ringrazio per la risposta, ho dato un'occhiata ed effettivamente i prezzi sono un pò alti. Vorrei però sapere se è una pratica comune da parte di un programmatore di proteggere il codice sorgente.
Marko

Avatar utente
 
Messaggi: 11
Iscritto il: martedì 19 luglio 2011, 23:21

Re: Proteggere codice sorgente PHP: consigli?

Messaggioda Sal » martedì 6 settembre 2011, 17:37

Questione interessante.
Non posso dirti in un contesto generico se un programmatore usa codificare il proprio sorgente di modo che risulti illeggibile a terzi ma posso però dirti che per quel che mi riguarda non ho mai avuto esigenza di ricorrervi.

Se voglio produrre un servizio closed source opererò di conseguenza e renderò il mio cms fruibile integralmente tramite comode interfacce grafiche che consentono le più disparate possibilità di utilizzo e customizzazione del servizio senza mai far accedere nessuno al web server che ospita i files.

Viceversa, se un cliente mi commissiona in modo dedicato la creazione di un qualunque particolare applicativo, mi sta pagando per ottenere un prodotto ed è pertanto giusto che se in futuro voglia 'smanettare' da lui sul suo prodotto o chiedere assistenza a qualcun altro debba poterlo fare ( che poi decadono le clausole di 'garanzia' come interventi di manutenzione straordinaria gratuiti in caso di malfunzionamento imprevisto del software così come consegnato è scontato ).


Rilasciare (nella seconda casistica ovviamente) al cliente un sorgente compilato mi sembra una forzatura antiprofessionale, per non dire infantile, in quanto costringerà quel cliente a rivolgersi solo ed esclusivamente a me nel caso di futuri ritocchi dell'applicazione.

Sicuramente ci saranno condizioni contrattuali particolari in determinate casistiche, ma in genere l'esclusività dello sviluppo e dei futuri ritocchi del software è qualcosa che avviene per programmi voluminosi e costosi progettati e sviluppati da team appositi, non propriamente il classico cms che si può produrre da se per il tipico cliente privato insomma.
Sal

Avatar utente
 
Messaggi: 12
Iscritto il: martedì 6 settembre 2011, 16:13

Re: Proteggere codice sorgente PHP: consigli?

Messaggioda Marko » mercoledì 7 settembre 2011, 1:46

Ti ringrazio, sei stato davvero molto esauriente e mi hai chiarito parecchio le idee.
La situazione concreta che mi aveva messo questo dubbio era il caso in cui il cliente dovesse avere i dati di accesso al web-server, e commissionando qualche intervento di manutenzione ad altri programmatori, questi copiassero il codice da me prodotto per poi utilizzarlo in applicazioni proprie. In questo caso non la riterrei proprio "antiprofessionale" come pratica, bensì l'unica precauzione contro problemi del genere. Ovviamente se il cliente non dovesse possedere i dati di accesso, il problema non si pone. Credo che giocherò su quest'ultimo fattore per evitare il problema, ovviamente senza costringere il cliente.
Marko

Avatar utente
 
Messaggi: 11
Iscritto il: martedì 19 luglio 2011, 23:21

Re: Proteggere codice sorgente PHP: consigli?

Messaggioda Paolob » mercoledì 7 settembre 2011, 9:04

Sal ha scritto:Viceversa, se un cliente mi commissiona in modo dedicato la creazione di un qualunque particolare applicativo, mi sta pagando per ottenere un prodotto ed è pertanto giusto che se in futuro voglia 'smanettare' da lui sul suo prodotto o chiedere assistenza a qualcun altro debba poterlo fare ( che poi decadono le clausole di 'garanzia' come interventi di manutenzione straordinaria gratuiti in caso di malfunzionamento imprevisto del software così come consegnato è scontato ).



Non condivido quello che stai dicendo.
Il fatto di sviluppare un'applicazione per un cliente NON implica il fatto che lui possa accedere al sorgente.
Dipende dalla licenza d'uso con cui vuoi rilasciare la tua applicazione. A volte dietro all'applicazione ci sono algoritmi che hai sviluppato/ragionato tu e che sono costate ore di lavoro. Il fatto che il cliente oppure altri possano accedere liberamente al tuo codice potrebbe metterli in condizione di vantaggio.

Personalmente mi è capitato di sviluppare un gateway per un ecommerce e successivamente di vendere una copia ad una ditta per un loro cliente a cui avevano sviluppato uno shop con lo stesso programma.
Al cliente ho rilasciato una licenza per una sola installazione e il vincolo che i diritti di sfruttamento dell'estensione sono i miei, ma a livello tecnico ho ofuscato un poco il codice per tutelarmi.

Nel caso di progetti particolari o nel caso che il cliente voglia comunque i sorgenti per tutelare il suo investimento, diritto del tutto legittimo e comprensibile, ho visto sviluppatori o software house applicare un prezzo molto maggiore.
es. Software in licenza d'uso 10
software in licenza e sorgente 100


Sal ha scritto:Rilasciare (nella seconda casistica ovviamente) al cliente un sorgente compilato mi sembra una forzatura antiprofessionale, per non dire infantile, in quanto costringerà quel cliente a rivolgersi solo ed esclusivamente a me nel caso di futuri ritocchi dell'applicazione.


Beh... si tratta di tutelare il proprio lavoro. Non trovo sbagliato legare il cliente a te in questo modo.
Certo che se per il prodotto ho chiesto 50 e per una piccola modifica ti chiedo 70... allora concordo che non sia professionalmente corretto.

Il tutto sempre discutibile
Il tutto sempre discutibile...

Contao Italian Conference 2012 - Cervia, 26 maggio 2012
Paolob

Moderatore

Avatar utente
 
Messaggi: 118
Iscritto il: lunedì 13 giugno 2011, 14:57
Località: Cesena

Re: Proteggere codice sorgente PHP: consigli?

Messaggioda Sal » mercoledì 7 settembre 2011, 9:15

Paolob ha scritto:[...]


Sicuramente, non ho escluso il fatto che possano esistere determinate casistiche.

Ma come ho detto in precedenza, se rilascio il software al cliente in sola licenza d'uso allora lo pongo in condizione di non poter neanche accedere al web server e implemento il cms affinchè sia del tutto customizzabile via amministrazione web.

Posso fare tutto su uno spazio mio, se ho abbastanza clienti posso anche pensare ad un piano dedicato su cui hostare i cms e far puntare successivamente la redirezione dns dei domini dei clienti allo spazio che ho appositamente creato per loro.


Ad ogni modo, hai ragione: non avevo tenuto bene in considerazione il fattore licenza d'uso.
Sal

Avatar utente
 
Messaggi: 12
Iscritto il: martedì 6 settembre 2011, 16:13

Re: Proteggere codice sorgente PHP: consigli?

Messaggioda Paolob » mercoledì 7 settembre 2011, 9:32

Sal ha scritto:Ad ogni modo, hai ragione: non avevo tenuto bene in considerazione il fattore licenza d'uso.


Figurati.. il confronto serve a questo.

Comunque non sempre è possibile chiedere al cliente di utilizzare i tuoi servizi di hosting... oppure se si trattasse di una intranet oppure il cliente avesse bisogno di accedere allo spazio web per metterci un altro applicativo?! :)

Allo stesso modo, anche io personalmente non ho avuto molte esigenze di nascondere il mio codice.
Spesso si tratta di semplici applicazioni che sono facilmente riproducibili :)
Il tutto sempre discutibile...

Contao Italian Conference 2012 - Cervia, 26 maggio 2012
Paolob

Moderatore

Avatar utente
 
Messaggi: 118
Iscritto il: lunedì 13 giugno 2011, 14:57
Località: Cesena

Re: Proteggere codice sorgente PHP: consigli?

Messaggioda Sal » mercoledì 7 settembre 2011, 9:46

Paolob ha scritto:Comunque non sempre è possibile chiedere al cliente di utilizzare i tuoi servizi di hosting... oppure se si trattasse di una intranet oppure il cliente avesse bisogno di accedere allo spazio web per metterci un altro applicativo?! :)


Ovvio, presumo che il cliente sia interessato al servizio offerto nel discorso, se non gli sta bene si trovano altri accordi o -alla peggio- "arrivederci e grazie".

Paolob ha scritto:Allo stesso modo, anche io personalmente non ho avuto molte esigenze di nascondere il mio codice.
Spesso si tratta di semplici applicazioni che sono facilmente riproducibili :)


Precisamente, quei pochi lavori per privati a cui mi sono dedicato prevedevano strumenti più o meno standardizzati nel web senza contare le richieste di alcuni clienti che a volte ti chiedono esplicitamente di usare un cms open source.

Applicazioni particolarmente complesse o comunque particolari e ragionate sto avendo occasione di svilupparle per la società presso cui lavoro a tempo pieno attualmente, ma non è software che vendiamo: è roba che utilizziamo poi noi.
Sal

Avatar utente
 
Messaggi: 12
Iscritto il: martedì 6 settembre 2011, 16:13

Re: Proteggere codice sorgente PHP: consigli?

Messaggioda Marko » mercoledì 7 settembre 2011, 21:03

E' esattamente questo il nodo centrale del mio dubbio. Se il cliente dovesse avere la possibilità di accedere al web-server, pur rilasciando una licenza che ne vieti l'accesso o la modifica dei sorgenti, non implicherebbe che a livello tecnico questi possano essere illegittimamente riutilizzati. A quel punto l'unica pratica per tutelarsi sarebbe di criptare il codice. Ovviamente è scontato, come già detto da parte vostra, che in base alla complessità dell'applicazione debba o meno valerne la pena.
Vi ringrazio per i consigli ed ovviamente se ne avete di altri, come ad esempio le tecniche o gli strumenti utilizzati, ve ne sarei ulteriormente grato. In ogni caso proverò qualche strumento già proposto nei primi post.
Marko

Avatar utente
 
Messaggi: 11
Iscritto il: martedì 19 luglio 2011, 23:21

Prossimo

Torna a PHP



cron