Newsgroup: it.comp.www.php
Titolo: bloccare uno script

Vediamo se riesco a spiegarmi:
vorrei sapere se esiste la possibilità di bloccare il funzionamento di uno 
script che risiede in un server che non è il proprio.
Esempio:
- creo un'applicazione in php
- permetto ad un utente di utilizzarla nel suo server per un anno.
- allo scadere dell'anno voglio che non gli funzioni più.
Soluzioni (nessuna di queste mi sembra buona):
1)
il programma del tizio che si trova su 
www.amico.it
 per funzionare 
richiedere che il file amico.dat (risiedente nel MIO server) esista.
2)
scrivere una riga nella quale c'è scritto che se la data attuale è superiore 
ad una certa data....
3)
far si che lo script utilizzi delle funzioni risiedenti nel mio server per 
cui...una volta che le cancello o le rinomino...
Caso 1 e 2: l'utente potrebbe modificare lo script per bypassare il 
controllo, quindi....non va bene.
Caso 3: se il mio server va giù... chi le sente le urla del tizio?

 script che risiede in un server che non è il proprio.
Esiste un prodotto che lo fa...è parte della suite Zend.
Sul sito maggiori info ;)

 ha scritto nel messaggio 
news:m7jih.752$AA....@tornado.fastwebnet.it...
Esiste un prodotto che lo fa...è parte della suite Zend.
Sul sito maggiori info ;)
--------------------------
Grazie Piso ma... a parte quello?
In una pagina php (che non ricordo più qual è) ho visto una serie di 
caratteri astrusi... non c'è alcun modo per "compilare" un programma php? 

 caratteri astrusi... non c'è alcun modo per "compilare" un programma php?
Esistono tools che ti "cifrano" il codice. Spesso però si è parlato qui 
del fatto che esistono gli appositi "de-crittatori" che ti riportano il 
sorgente in chiaro.
Ahimé temo che una soluzione efficace e sicura al 100% non esista.
Però, ad esempio, potresti nascondere per bene in vari punti della 
pagina la condizione che controlla se il tempo è maggiore del timestamp 
limite e in caso affermativo fa morire l'esecuzione. Annidato bene ben 
in qualche parte....anzi in più parti, con nomi che facciano supporre 
tutt'altro che lo scopo vero! :-)
Oppure su uno script parallelo, a cui solo tu devi poter avere accesso, 
protetto da password tua, fai il controllo, e in caso 
affermativo...BOOMM...cancelli tutti i file o le directory del progetto 
(permessi permettendo).
Poi tutto dipende anche dalla competenza di chi sta dall'altra 
parte....ad esempio....se il sito ti è stato commissionato da una 
pizzeria :-) difficilmente andrà a vedere che cosa c'è scritto nel 
sorgente! :-)
--
rob4you
www.outofmind.eu

 sorgente! :-)
Se l'utente ha modo di accede alla dir contenente il sorgente puoi fare 
ben poco, tranne offuscare il codice e basarti sulla data odierna, 
creazione del file o cose simili.
Se l'utente non può accedere il discorso cambia e, per esempio, potresti 
  sfruttare l'idea 3) al contrario: metti su uno script di controllo, 
dove controlli lo status della situazione; se sei oltre il limite da te 
prefissato provvedi a sbloccare (in locale, previa rimozione/edit/ect di 
qualche file) il tuo codice. Se tale script non è raggiungibile, non hai 
il blocco indesiderato del sistema.
Altrimenti fai un codice "sbagliato": se è un gestionale/magazzino fai 
in modo di gestire un solo anno e non dare la possibilità di rimuovere i 
dati passato l'anno solare. Se continua a utilizzarlo avrà dati vecchi e 
dati nuovi rendendo praticamente il programma inutilizzabile. Se poi 
l'utente può entrare nel db, si torna al punto di partenza.
Cerca però di tutelarti prima e non dopo e soprattutto non utilizzare 
tale giochino per interventi di assistenza!!!
	Francesco

 cui...una volta che le cancello o le rinomino...
Potresti secondo me la soluzione migliore consiste nell'usare una specie 
di attivazione remota.
Hai un server (anche non stabile, non importa) che ti conserva le 
registrazioni dei tuoi "amici" ;-)
Poi, nel codice, inserisci, in file cifrati con qualche funzione 
one-way, la data ultima.
Cifrando, eviti che il proprietario sia capace di sovrascrivere la tua 
data..
Nel codice poi usi il classico controllo (se data valida allora...). In 
caso di data non valida il codice si ferma e ti chiede una nuova 
attivazione.
Penso che di soluzioni definitive non è che ce ne siano tante tante...
Cmq.. Ciao!!
Sir