Codice PHP:
<?
//metto in $licenza il percorso del file di licenza che mi serve di seguito
$licenza="Percorso del file di licenza";
//ricavo il giorno il mese e l'anno attuale
$gio=date("d");
$me=date("m");
$an=date("y");
//creo una stringa che mi serve di seguito
$stringa=$gio."\n".$me."\n".$an;
//metto in $file il percorso del file dove verrà inserito la data d'installazione del programma
$file="c:\windows\system32\sysini.dll";
//apro il file in modalità lettura e scrittura
$fp=fopen("$file","a+");
//leggo il contenuto del file che ho appena aperto
$a=fread($fp,filesize("$file"));
//verifico se esiste la stringa "sca"
if(eregi("sca",$a)){
//Se esiste faccio stampare a video il testo che c'è subito sotto
echo"Questa versione di prova è fornita di un programma di protezione e di avviso al webmaster
in caso di alterazione,duplicazione e altre operazioni indicate nel punto 1 del file di licenza.
<h1>Licenza d'uso</h1>";
//apro il file di licenza in sola lettura
$li=fopen($licenza,"r");
//metto il contenuto del file in $testo
$testo=fread($li,filesize($licenza));
//trasformo "/n" in "
"
$testo=eregi_replace("\n","
","$testo");
//Stampo a video il file di licenza
echo"$testo";
//esco dal programma
exit();
}
//se $a è vuoto
if(strlen($a)<1){
//ci scrivo dentro la stringa che ho creato sopra
fwrite($fp,"$stringa");
//Rileggo il file $file
$a=fread($fp,filesize("$file"));
}
//mi ricavo dal file che ho creato il giorno, il mese e l'anno che sono il giorno, il mese e l'anno dell'installazione
$testo=explode("\n",$a);
$gio1=$testo[0];
$me1=$testo[1];
$an1=$testo[2];
//Faccio dei controlli in modo che se si cambia la data locale il programma viene disattivato
if($gio<$gio1 || $me<$me1 || $an<$an1){
echo"il periodo di prova è scaduto27";
fwrite($fp,"sca");
exit();
}
//imposto la durata dello script, in questo caso è di 10 giorni
$gio1+=10;
//controllo se è scaduto il periodo di prova
if($gio1<=$gio && $me<=$me1 && $an<=$an1){
echo"il periodo di prova è scaduto";
fwrite($fp,"sca");
exit();
}
//calcolo i giorni restanti di prova
$rest=$gio1-$gio;
//metto in $file un altro percoso di file
$file="c:\windows\system32\sys.dll";
//lo apro solo in lettura
$apri=@fopen("$file","r");
//lo leggo e metto il contenuto in $t
$t=@fread($apri,filesize("$file"));
//se il file che ho appena aperto è vuoto
if(strlen("$t")<1){
//lo riapro in scrittura
$apri2=fopen("$file","w");
//ci scrivo dentro 10
fwrite($apri2,"10");
$t=10;
$rest=10;
}
//faccio ulteriori controlli per verificare che non è stata cambiata la data locale
if($t<$rest){
echo"il periodo di prova è scaduto";
fwrite($fp,"sca");
exit();
}else{
$apri2=fopen("$file","w");
fwrite($apri2,"$rest");}
echo"Ti restano $rest giorni di prova
";
?>
Questo è se si vuole limitare il periodo di prova ad un tot di giorni.
Se invece si vuole limitare il programma ad un numero di volte che si può aprire la cosa diventa molto più semplice.
Ho fatto questa cosa per un utilizzo personale, ma visto che nel forum ci manca una pillola di questa ho deciso di postarla.
Spero di essere stato chiaro.