Salve ragazzi...
vi illustro un PREGEVOLISSIMO sistema che ho messo apunto per evitare che i programmi che realizzo in flash (con magari qualche pagina asp e php), vengano spostati sua altri server e servano ad altri siti web, e un trucco semplicissimo ed efficace che vi permette in qualunque momento, senza appesantire il filmato di scegliere per quali siti web disabilitare il funzionamento del vostro swf.
Si fa così:
create un mc vuoto (nome che volete, anche l'istanza non è importante, vi consiglio nomi anonimi, in caso qualcuno visualizzi gli script con decompilatori) e assicuratevi che sia presente sullo stage per ogni scena e in ogni fotogramma (riservategli un layer).
associategli questo script:
onClipEvent (load) {
fine = _root._url.indexOf("/", 7);
link = _root._url.substring(7, fine);
this.casuale = Math.round(Math.random()*9999999999);
loadVariables("http://www.miosito.com/sicurezza/link.txt?"+casuale, this);
}
onClipEvent (data) {
for (i=1; i<=100; i++) {
nome = eval("stop"+i);
if (nome == link) {
// azione da svolgere //
_root.gotoAndStop("bloccato");
}
}
}
"http://www.miosito.com" va sostituito con il link del vostro sito web (ricordatevi che ci va http://)
Sul vostro sito, nella cartella "sicurezza" (che dovete creare), ci mettete il file link.txt compilato con i link (stavolta senza http://) dei siti web su cui volete che il vostro swf NON funzioni, in questo modo:
FILE "link.txt" nella directory "sicurezza"
stop1=www.sitobloccato.com&stop2=www.altrosito.it& stop3= ecc...
Nello script dopo la voce // azione da svolgere //, dovete mettere quello che volete che succeda se il sito su cui è depositato l'swf è uno di quelli da voi bloccati. Nel mio caso lo facevo andare al fotogramma "bloccato", un fotogramma infondo al filmato con la scritta "sistema bloccato"; fotogramma che non è altrimenti raggiungibile in una eseguzione normale (autorizzata)... Ma potete sbizzarirvi e inventare la controazione che volete.
FUNZIONAMENTO GARANTITO
Questo script non danneggia in alcun modo il sito su cui risiede l'swf, e non crea alcuna dipendenza dalla vostra autorizazione, difatti, anche se in un futuro il vostro sito (con i vostri link da disattivare) dovesse sparire, o essere down il server, il mc si limiterà, non trovando i link, a non eseguire alcuna azione... senza interferire in alcun modo sul normale funzionamento dell'swf.
Se poi un giorno scoprite che qualcuno sta facendo il furbo... zak, inserite il suo link e l'swf non va più :gren:
Il problema è che in questo modo il fraudolento lo dovete sgamare voi e poi bloccarlo, pertanto:
[VARIANTE PROPOSTA] AMPLIAMENTO DEL SISTEMA:
Con una piccola modifica al sistema appena visto possiamo fare in modo che durante il corso di alcuni mesi (chiamati "mesi di monitoraggio", da noi indicati), ci venga inviato per e-mail (e senza che l'utente se ne accorga) l'indirizzo web su cui sta girando il nostro swf. Per far questo dobbiamo appoggiarci un po' a php, ma è semplicissimo
- Modifiche:
1) la directori "sicurezza" precedentemente creata deve avere il permesso di eseguire php, se non ce l'ha dobbiamo spostarla in una che ce l'ha... mettiamo che tale cartella sia "public"; il nostro link per i file di sicurezza sarà "http://www.miosito.com/public/sicurezza", ed è li che dovremmo spostare il file link.txt che contiene i link bloccatti
2) Nella directory www.miosito.com/public/sicurezza mettiamo il file sicur.php così composto:
<?
$adminaddress = "miaemail@miosito.com";
$titolo = "ATTIVITÀ RILEVATA";
$intestazioni = "MIME-Version: 1.0\r\n";
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
$intestazioni .= "FROM: Sicurezza SWF";
$messaggio = "È stato rilevato l'utilizzo di un swf da Voi protetto al seguente link: ".$messaggio1." il valore della variabile che può bloccarlo è: ".$messaggio2;
mail($adminaddress, $titolo, $messaggio, $intestazioni);
?>
(è davvero semplicissimo, ricordatevi di mettere la vostra mail in $adminaddress)
3)il nuovo script da apporre sopra il nostro mc di controllo (presente in tutto il filmato) diventa:
onClipEvent (load) {
fine = _root._url.indexOf("/", 7);
link = _root._url.substring(7, fine);
fine2 = _root._url.lastIndexOf(".swf");
link_completo = _root._url.substring(0, fine2)+".swf";
data_oggi = new Date();
mese_di_controllo = data_oggi.getMonth();
casuale = Math.round(Math.random()*9999999999);
loadVariables("http://www.miosito.com/public/sicurezza/link.txt?"+casuale, this);
}
onClipEvent (data) {
for (i=1; i<=100; i++) {
nome = eval("stop"+i);
if (nome == link) {
_root.gotoAndStop("bloccato");
} else {
bloccato = "no";
}
}
if (bloccato == "no") {
if (mese_di_controllo == 11 || mese_di_controllo == 3) {
this.messaggio1 = link_completo;
this.messaggio2 = link;
loadVariablesNum("http://www.miosito.com/public/sicurezza/sicur.php", 0, "POST");
}
}
}
Niente di impossibile, ma vediamone i dettagli:
Se il sistema rileva che il sito è nella lista nera dei siti bloccati, esegue l'azione di blocco.
Se invece rileva che l'swf sta girando su un sito non bloccato (non sappiamo ancora se autorizzato o no), verifica in che mese siamo, se il mese attuale corrisponde al mese che noi abbiamo impostato per effettuare un controllo, allora invia alla pagina php del nostro sito le variabili dell'indirizzo completo dove risiede l'swf, e l'indirizzo parziale (senza "http://") da porre nel nostro file link.txt qualora volessimo bloccarlo. PHP a sua volta (zitto zitto) ci invia un email.
In questo modo se scopriamo che l'utente è una persona a cui non abbiamo concesso l'uso del nostro swf possiamo subito bloccarlo.
nel ciclo "if (mese_di_controllo == 11 || mese_di_controllo == 3)"
potete mettere i mesi in cui il sistema deve effettuare il controllo (ricordatevi che il mese 0 è gennaio, 1 febbraio ecc...). Io non esagererei, senò ogni volta che viene eseguito l'swf ci arriva un'email al giorno. Ho messo Dicembre e Aprile, che sono i mesi a più possibile attività (la gente prima di partire per le ferie ama sistemare il proprio sito web)
È LEGALE:
Se non modificate troppo il php e la raccolta di variabili, questo sitema non viola in alcun modo la legge sulla privacy, perchè provvede solo a segnalarci il link su cui il nostro swf sta girando.
Raccogliere un indirizzo web non può essere considerato "raccolta di informazioni personali su un individuo" in quanto i link di indirizzi web sono di dominio publico.
Detto questo possiamo ora creare dei lavori di programmazione flash, che monitorizzano la loro posizione ogni tot mesi e ci segnalano se è il caso o meno di bloccarli, il tutto senza appesantire il filmato e senza creare dipendenze all'utente.
Buon lavoro :gren:

Rispondi quotando


