PDA

Visualizza versione completa : Inserire una licenza nel proprio script php



Asterix
08-03-11, 15: 28
Salve ragazzi

in questo momento sono alle prese con un piccolo script php al quale vorrei metter un codice licenza al fine di limitarne l'uso improprio :lol:

la struttura che vorrei attuare è la seguente:

una tabella nel mio db con i seguenti campi:

domain
key-license
status

in rete ho trovato questo http://www.sastgroup.com/tutorials/php-inserire-una-licenza-nel-tuo-software-web ma non funziona almeno a me restituisce sempre invalid

ora chiedo a qualche esperto in php e mysql se esiste una struttura semplice da implementare per far controllare la licenza dello script php basato su dominio+licenza

la licenza la consegno io mentre il dominio lo reperisce in modo automatico.

:thx

PS lo so che è semplice raggirare questa protezione ma voglio rompere un po' :lol:

pierino_89
12-05-11, 13: 21
Se ti serve ancora, ho qualche suggerimento per te.
La cosa migliore sarebbe scrivere una classe che al __construct faccia una richiesta post alla pagina di controllo passandogli che so, il codice licenza cifrato con le mcrypt.
Il dominio lo può trovare la pagina di controllo risolvendo l'ip della connessione remota, il resto sono solo una query di SELECT e inviare una stringa di risposta cifrata di nuovo con mcrypt.
Dopodiché dovresti offuscare o proprio compilare in bytecode la classe (magari mettendo all'interno un bel po' di funzioni che vai a richiamare dalle altre parti).

Ti consiglio di partire dalla scrittura della classe usando come funzione di cifratura una cosa tipo

Only registered members can view code.
così inizi a farlo funzionare in chiaro e poi dopo ci pensi. Ti consiglio inoltre di testare la pagina di controllo con l'hackbar di firefox prima di smattare con le curl per fare richieste POST via php.

Per il debug (sia dell'altro script che hai trovato che di questo) ti consiglio caldamente FireBug e Hackbar, entrambe estensioni di firefox. Almeno riesci a capire i dati che partono e che arrivano.

Kirk78
12-05-11, 13: 37
Concordo con pierino. Quello che vuoi (o volevi se hai risolto) è che il tuo script php funzioni solamente sui domini che dici tu?
Mettere lo script in https con la richiesta del codice licenza che rilasci in ingresso, e che poi il sistema verifica se il codice è corretto per quel determinato IP su una tabella cripitata, come diceva anche pierino?

pierino_89
12-05-11, 13: 43
HTTPS è un costo aggiuntivo (hai il costo del certificato e non tutti i provider lo supportano) ma sicuramente risparmia lo sbattone di usare le mcrypt.

Asterix
12-05-11, 13: 47
Grazie ragazzi per essere intervenuti, la cosa mi interessa ancora in quanto lo script non l'ho ancora rilasciato.

Ora le mie nozioni di php sono molto limitate (sufficienti pero' per i miei addon di vb :lol: quindi non preoccupatevi non mando in crash il forum) e quanto suggerito mi porta ad uno ulteriore studio, speravo di trovare qualcosa di pronto in rete come quello segnalato peccato che non funzioni

Speriamo ti trovare un po' di tempo per studiarmi questo maledetto linguaggio, in quanto avrei delle idee per dei plugin ma ora sono fermo grrrrrrr

:bai

Kirk78
12-05-11, 17: 09
Forse non hai le autorizzazioni per creare i .lic sulla cartella sul server e quindi ti da errore, comunque che errore ti da?
Una soluzione che ho trovato ... ma non provato :ghgh ... è questa (http://www.spbas.com/software-licensing) che è gratuita con "Customer limit: 25". Non so le tue esigenze. :bai

EDIT: :m: potresti anche utilizzare .htaccess autorizzando solamente gli IP e/o domini che decidi tu su determinate risorse utilizzando il comando allow from.

Asterix
13-05-11, 20: 13
Errori segnalati nessuno, ma non viene passato nulla.

:bai

pierino_89
13-05-11, 20: 50
prova con un bel var_dump sui due valori delle licenze. Magari hai qualche carattere strano che viene convertito in qualcos'altro da html_entities