allora ragazzi
si potrebbe anche pulire visto che non vedo scritto da nessuna parte che devo lasciare lo script almeno io non lo viso , neppure nel file xml. " anche se qui dice Joomla! 1.5 template free to use; pls leave copy div for stats. Thanks. MC
di lasciare il div, e quello non lo toccato "
lo script agisce in questa maniera senza di lui non carica i css , x cui via il il file script si ricostruisce il richiamo dei 2 css nel php xche il 3 css serviva allo script , si cancella il richiamo nel php dello script e il template e pulito di tutto .
ps: non sapendo che cosa c'è scritto nel file script xche criptato non si puo dire cosa e come richiamava la pubblicità, oppure cosa facesse io ho fatto la prova su template technoman-tpl.
questo e tutto
Innanzitutto, converrai con me (e con quanto ho scritto all'inizio) che non esiste nulla che renda visibile quel div, giusto ?
In ogni caso, il codice nascosto e lo script collegato non aggiunge nessun css, te lo posso assicurare, che non sia già presente nel template...
Comunque, per puro scopo accademico, ecco una spiegazione un po' più tecnica su quello che accade nel template technoman (e alla stessa maniera, con lo stesso identico algoritmo ma usando nomi diversi per le variabili, nei suoi "fratellini")
Il template inizia subito con la riga
<?php include('script/author.php'); ?>
che include lo script che genererà la parte nascosta.
Il template prosegue in maniera classica, con l'inclusione dei normali header di joomla (quelli che tra l'altro aggiungono mootools), il css
<link rel="stylesheet" href="templates/_system/css/general.css" type="text/css" />
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/template.css" type="text/css" />
che, come si può vedere, non ha alcun riferimento con lo script di cui sopra (il file template.css contiene il riferimento ai due altri file di template)
e le solite cose fino al tag body.
Sotto al body abbiamo la riga incriminata:
<div id="copy">
<h1>
<a href="<?php echo _joomla_href; ?>" title="<?php echo _joomla_title; ?>">
<?php echo _joomla_title; ?>
</a>
</h1>
</div>
La "finezza", in questo caso, sta nell'utilizzare due variabili che sembrano di joomla (ma non mi pare che esistano veramente) per nascondere quello che sta accadendo, mentre in realtà il valore di tali variabili viene inserito nello author.php di cui sopra.
Il template, poi, prosegue normalmente fino alla fine..l'unica cosa da notare è che, nel foglio di stile design.css troviamo l'unico riferimento al div copy
#copy{display:none;}
che ha come unico scopo il renderlo invisibile.
Ed ora veniamo allo script "magico" che riempie le due variabili che genereranno il link "invisibile" (riportato epurato dei link)
<?php
/*-------------------SETTINGS ( keywords => URL)-------------------*/
$base_href='http://www.testsito.it';
$keywords=array('home'=>$base_href.'',
'titolo pagina interna 1'=>$base_href.'/paginainterna1.php',
'titolo pagina interna 2'=>$base_href.'/paginainterna2.php',
'titolo pagina interna 3'=>$base_href.'/paginainterna3',
'titolo pagina interna 4'=>$base_href.'/paginainterna4',
'titolo pagina interna 5'=>$base_href.'/paginainterna5'
);
/*--------------------NON-TOCCARE----------------------------------*/
$chiavi=array_keys($keywords);
$stringa=$_SERVER['HTTP_HOST'];
$somma=0;
for($i=0; $i<strlen($stringa); $i++){ $somma+=ord($stringa[$i]);}
$key=$somma%(count($keywords));
$keywords[$chiavi[$key]];
define('_joomla_href',$keywords[$chiavi[$key]]);
define('_joomla_title',$chiavi[$key]);
/*------------------------------------------------------------------*/
?>
In pratica si tratta di uno script che genera un diverso link (tra un insieme scelto) a seconda del nome del sito che lo ospita.
La prima riga contiene l'url di base per i link da generare
La seconda riga contiene l'array dal quale verranno pescati, a seconda del nome del sito che ospita lo script, le pagine che andranno nel link nascosto (la chiave diverrà il titolo del link)
A questo punto (siamo sotto il "non toccare") abbiamo la scelta del link:
1) Dall'array contenente i link alle pagina de linkare viene estratto un array contenente solo le chiavi (servirà dopo per il passaggio dal numero random generato alla chiave del link collegato)
2) Nella variabile "stringa" viene messo il nome dell'host che ospita il sito
3) Si crea una variabile "somma"
4) Si entra in un ciclo che non fa altro che trasformare ogni lettera dell'host nel suo corrispettivo numero di carattere ascii, e fare la somma di questi numero ottenuti (in "somma")...in pratica, un generatore di numeri random basato sul nome del sito che occupa lo script
5) Si applica l'operatore "resto" alla somma, dividendo tale numero per il numero di link possibili: il risultato, essendo un "resto", è garantito che sia un numero compreso tra 0 e il numero dei link possibili-1.....in pratica, abbiamo ottenuto in maniera random il numero del link scelto, un "random" che dipende dal nome del sito
6) C'è una riga che mi sembra inutile
$keywords[$chiavi[$key]];
A questo punto, con le due ultime istruzioni viene assegnato il valore alle variabili che generano il link.
E' da notare che questo gioco nel template technoman è scirtto in chiaro, mentre negli altri template l'algoritmo è identico, solo che si sono usati nomi random (e complicati) per le variabili (ma basta fare una semplice sostituzione di nomi per vedere che tutto torna)
Riguardo la "legalità" del togliere solo il div "copy" nel template per risolvere il problema, sono perplesso: da una parte, visto quanto scritto nell'xml, dovrebbe essere illegale (il template è fornito come linkwere)...c'è però da dire che, sempre nell'xml, c'è scritto che quella riga è "per fini statistici" il che, alla luce di quanto visto sopra, mi fa vedere la cosa più simile a un comportamento "da truffa"