-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[20] Come posso nascondere il codice sorgente del mio programma Perl?

Cancellatelo. :-) Seriamente, ci sono un certo numero di (per lo più insoddisfacenti) soluzioni, con diversi livelli di "sicurezza".

Prima di tutto, ad ogni modo, non non si può rimuovere il permesso di lettura, perché il codice sorgente deve essere leggibile affinché sia compilato ed interpretato. (Tuttavia questo non significa che il sorgente di uno script CGI sia leggibile sul web dalle persone, ma solo dalle persone che hanno accesso al filesystem.) Dunque, dovete lasciare i permessi al livello socialmente amichevole di 0755.

Alcune persone considerano questo un problema di sicurezza. Se i vostri programmi compiono azioni insicure e si affidano a persone che non conoscono il modo di sfruttare queste insicurezze, ciò non è sicuro. Spesso per qualcuno è possibile determinare le insicurezze e sfruttarle senza vedere il sorgente. La sicurezza attraverso l'oscuratezza, il modo per chiamare il fatto di nascondere i vostri bug invece di correggerli, è davvero qualcosa di poco sicuro.

Potete provare ad usare la cifratura attraverso filtri per il sorgente (a partire dal Perl 5.8, i moduli Filter::Simple e Filter::Util::Call sono inclusi nella distribuzione standard), ma ogni discreto programmatore sarà in grado di decifrarlo. Potete provare usando il compilatore e interprete di byte code descritto più in basso, ma i curiosi potrebbero ancora decompilarlo. Potete tentare di utilizzare il compilatore di codice nativo descritto più sotto, ma i cracker potrebbero disassemblarlo. Queste cose mettono in difficoltà, in varia misura, coloro i quali vogliono impossessarsi del vostro codice, ma nessuno può nasconderlo definitivamente (ciò è vero per qualsiasi linguaggio, non solo Perl).

é molto facile recuperare il sorgente dei programmi Perl. Date semplicemente in pasto il programma all'interprete perl ed utilizzate i moduli nella gerarchia B:: . Il modulo B::Deparse dovrebbe essere in grado di superare il maggior numero di tentativi di nascondere il sorgente. Di nuovo, questo non riguarda solo Perl.

Se siete preoccupati che le persone traggano profitto dal vostro codice, allora la conclusione è che niente darà più sicurezza legale di una licenza restrittiva. Fornite una licenza al vostro software e tempestatelo di frasi minacciose del tipo "Questo è software inedito di proprietà della ditta XYZ. L'accesso ad esso non vi dà il permesso di usarlo bla bla bla." Non siamo avvocati naturalmente, dunque dovreste consultare un legale per essere sicuri che la stesura della vostra licenza reggerà in tribunale.

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google