Protezione dalla copia del software PHP / JS

3

Prima di tutto non so nulla che possa fare al 100% per impedire la copia illegale del mio software. Mi piacerebbe solo renderlo ragionevolmente difficile per una persona competente da fare, e quasi impossibile per una persona non riconosciuta.

Ho un incarico a contratto per sviluppare un'app Web utilizzando lo stack WAMP, commissionato dal responsabile IT di un'azienda. Durante il nostro incontro e le conversazioni, continuava ad essere generico sui requisiti del software, apparentemente rifiutando di sviluppare requisiti specifici per la sua azienda. Quindi ho avuto l'impressione che intendesse rivendere il software ad altre società per il suo profitto.

E per le persone che dicono "le persone che piratano il software non sono comunque nel vostro mercato di destinazione", ovviamente questo non si applica in questo caso perché se rivende il mio software ad altre società, quelle aziende sono nel mio mercato di riferimento.

La funzionalità del mio software sarà divisa sia sul lato server (PHP) che sul lato client (JS) usando un buon framework JS, se possibile voglio proteggerli entrambi (ma penso che per JS l'unica cosa Posso fare è offuscare il codice).

Non posso semplicemente rifiutare il contratto perché ho bisogno di soldi.

C'è qualcosa che posso fare?

Modifica: Sono anche aperto all'utilizzo di applicazioni esterne (ad esempio scritte in C, Java, ecc. o compilate in dll) per gestire la protezione dalla copia. Ho solo bisogno di sapere il meccanismo generale di esso, se possibile.

    
posta d.a.vorm 26.10.2016 - 07:43
fonte

3 risposte

4

Stai risolvendo il problema sbagliato.

Non puoi nascondere il tuo codice quando usi php e javascript. Puoi offuscare ma non scoraggiare nessuno che cerchi di rubare il tuo codice.

Ciò di cui hai bisogno è un contratto in cui è chiaramente scritto ciò che fa il tuo codice, ciò che il cliente è autorizzato a fare con il tuo codice e le sanzioni per la rottura del contratto distribuendo il tuo codice senza il tuo consenso.

Per questo avrai bisogno di un avvocato.

    
risposta data 26.10.2016 - 12:25
fonte
0

Non è possibile in questa situazione, l'offuscamento non è la protezione dalla copia e si intromette. In ogni caso, devi fidarti delle persone con cui lavori. Se non ti fidi di loro non lavorare con loro.

    
risposta data 26.10.2016 - 11:42
fonte
0

Per prima cosa non dimenticare di usare una licenza!

link :

a very interesting article written by Patrick Weid on how to hide your js code, and he reveals a different approach: you can encode your source code into an image! Sure, that's not bullet proof either, but it's another fence that you could build around your code. The idea behind this approach is that most browsers can use the canvas element to do pixel manipulation on images. And since the canvas pixel is represented by 4 values (rgba), each pixel can have a value in the range of 0-255. That means that you can store a character (actual it's ascii code) in every pixel. The rest of the encoding/decoding is trivial. Thanks, Patrick!

L'articolo: link

È impossibile proiettare il codice tramite JavaScript, poiché il codice viene eseguito sul client. Detto questo, puoi rendere difficile l'ottenimento agli sviluppatori meno esperti, che sono probabilmente il tipo di feccia che ruberebbe il codice e affermano di averlo scritto. I veri sviluppatori hanno troppo orgoglio per rubare il codice, e molto probabilmente scriverebbero i propri. Detto questo, ecco come.

  1. Crea un file lato server che richiede una sessione autenticata attiva nel controller e incorpora il javascript in questo file. Utilizzare Ajax per recuperare il file quando la pagina a cui si desidera fare il riferimento lo carica e lo aggiunge al DOM. In altre parole, incorpora dinamicamente il tuo javascript in fase di esecuzione in modo che non sia visibile quando viene selezionata la sorgente della vista.

  2. Se vuoi veramente complicare le cose, dividi la logica tra lato server e lato client. Avere parte del lavoro svolto lato server tramite metodi post / get di ajax e parte del client. Assicurati che i parametri attivi della sessione siano utilizzati in modo che nessuno possa semplicemente fare riferimento alla tua logica e rubare tutto. In questo modo, se rubano parte del codice, devono comunque essere abbastanza intelligenti per scrivere il resto, il che probabilmente non sarà il caso se stanno tentando di rubare.

  3. Puoi anche lanciare la tua crittografia nel mix, anche se questo rallenterà le cose. Puoi utilizzare un hash bidirezionale che usa qualcosa di semplice come un ID di sessione e decrittografarlo ed eseguirlo man mano.

  4. Infine, puoi incorporare un file javascript errato con errori e codice dannoso per creare un sistema perdente ignaro chiamato gotcha.js! Ok, potrebbe essere un po 'esagerato, ma la direzione sbagliata è la chiave qui.

risposta data 26.10.2016 - 11:59
fonte

Leggi altre domande sui tag