2010-04-02 17 views
6

Stavo pensando di fare un'applicazione commerciale per vendere ai clienti di installare sui propri server, ma ho voluto farlo con PHP & MySQL.commerciale applicazioni Web PHP -

che cosa devo fare per garantire che il codice sorgente (& database) non sarà aperto né copiato. La cosa più importante è che il codice sarà ospitato sul server del cliente. E anche il modo per garantire che il cliente non rivendere l'applicazione Web (come copiare il codice & Db ad altre persone)

Grazie

risposta

6

C'è un sacco di domande riguardo l'offuscamento/crittografia/compilazione del codice PHP su SO. Dategli un'occhiata

C'è un certo numero di prodotti per proteggere il codice PHP come Zend Guard, ioncube encoder e altri.

correlate, al fine domande:

+0

+1 buona lista di informazioni – Cez

+1

+1 Grande informazioni Pekka. (sebbene copra solo la metà del problema, il DB è il duro da proteggere). – codenheim

+0

@mrj prego. Ma un * DB *? Non ho letto quella parte. Direi che è praticamente impossibile proteggere in qualsiasi modo orientato alla performance. Quindi devi pensare al Software come a un servizio. –

0

Non è possibile, IMO, senza un ambiente completamente hosted. Una volta sul server del cliente, hanno accesso, quindi è una questione di determinazione e risorse. Dico questo perché anche le potenti protezioni di codice nativo sono sovvertite continuamente, solo Google per vedere tutte le chiavi incrinate.

Se si desidera proteggere il proprio codice, l'uso di lingue native o verifiche offuscate (almeno) modificherà solo l'entità della difficoltà, ma non allevierà il rischio.

La protezione del database è ancora più difficile. Anche i motori che consentono la crittografia completa del DB richiedono la chiave per avviare/connettersi al db. Se questo è parte della tua app web, o nelle mani del cliente, hanno pieno accesso. DB Encryption è davvero una protezione contro gli hacker, non contro i tuoi clienti.

La pirateria diventa un problema legale, non un problema tecnico.

1

È possibile utilizzare Zend Guard e alcuni controlli all'interno delle applicazioni per cercare di mitigare la pirateria sulle proprie applicazioni WEB PHP.

DataBase rimarrà probabilmente aperto.

0

Penso che il massimo che si possa fare è codificarlo ma se sono abbastanza esperti da notare che possono solo decodificarlo ... PHP è un linguaggio di scripting che viene interpretato in fase di esecuzione.

I tuoi clienti dovrebbero firmare un contratto che dice che non lo consegneranno, potresti eseguire una sorta di controllo delle licenze nel software per verificare che nessuno lo stia usando illegalmente ... vbulletin è un esempio di applicazione web PHP commerciale, si può guardare nel modo in cui fanno affari.

2

Fintanto che il software viene distribuito in forma di codice sorgente (contro binario), ci sono alcun modo per impedire l'apertura cliente/alterarla. Anche i binari possono essere più o meno decodificati decompilandoli.

Uno può obfuscate il codice al fine di rendere difficile leggere/capire come funziona, ma come ogni contromisura, non si fermerà la pirateria - prima o poi qualcuno con una motivazione sufficiente lo ignorerà.

Si hanno poche opzioni:

  1. vendere il vostro software come servizio (SaaS).

  2. Basta non preoccuparsi della pirateria, di alto profilo/la maggior parte degli utenti probabilmente pagherà comunque se il prezzo è ragionevole.

  3. licenza come free (libre) e profitto dalla vendita di sostegno ecc