Joomlashow arrow Articoli arrow Togliere lo spam nascosto in Artio JoomSef

Togliere lo spam nascosto in Artio JoomSef

30-04-2008 05:00

Questo articolo contiene informazioni che riguardano la versione 2.2.6 di ARTIO JoomSEF per Joomla 1.0.x

L'articolo "Eliminare lo sponsor link in ARTIO JoomSEF 2.3.1" contiene informazioni riguardanti la versione 2.3.1 di per Joomla 1.0.x

joomsefSi sa ormai da tempo che uno dei componenti più usati per la riscrittura delle url in Joomla 1.0 contiene al suo interno link nascosti, che possono essere rimossi acquistando la versione a pagamento.
Questo comportamento non è stato visto di buon occhio da molti utenti, che hanno cominciato ad utilizzare altri componenti.
Nonostante ci siano altri ottimi componenti, Artio rimane una valida scelta e offre una compatibilità con tutte le estensioni più utilizzate.

Il sito di artio riporta:

Free JoomSEF (with sponsor links) and free plugins

  • you are ALLOWED to copy and distribute it freely
  • you are ALLOWED to use it on as many servers and domains as you need
  • you are ALLOWED to do modifications to code for your own needs
  • you are NOT ALLOWED to distribute customized versions without ARTIO approval

Le condizioni non ci obbligano quindi a tenere lo spam nel nostro sito. Se vogliamo possiamo rimuoverlo manualmente, a patto che non ridistribuiamo installazioni automatiche di versioni modificate.

Premesse

Questo articolo è stato scritto a puro scopo dimostrativo, tenendo in considerazione la versione 2.2.6 di JoomSef.
L'autore non si assume nessuna responsabilità da eventuali malfunzionamenti causati da modifiche ai componenti del vostro sito e da un cattivo uso delle informazioni divulgate.

Alla ricerca dei links

Apriamo il seguente file del nostro sito joomla: "administrator/components/com_sef/sef.class.php";
alla riga 385 dovremmo trovare questo codice:

eval(base64_decode('JHNlZkRpckFkbWluID0gJEdMT0JBTFNbJ21vc0NvbmZpZ19hYnNvbHV0ZV9wYXRoJ10gLiAnL2FkbWluaXN0cmF0b3IvY29tcG9uZW50cy9jb21fc2VmLyc7Ci8vIGxvYWQgY2hlY2tzdW1zCiRsaWNlbnNlID0gdHJpbShAZmlsZV9nZXRfY29udGVudHMoJHNlZkRpckFkbWluIC4gJ3NpZ25hdHVyZS5iNjQnKSk7CiRjaGVja3N1bSA9IHRyaW0oQGZpbGVfZ2V0X2NvbnRlbnRzKCRzZWZEaXJBZG1pbiAuICdjaGVja3N1bS5tZDUnKSk7CiRjaGVja3N0ciA9ICcnOwpnbG9iYWwgJHNlZkNoZWNrQTsKJHNlZkNoZWNrQVszXSA9ICRzZWZDaGVja0FbMl0gPSAkc2VmQ2hlY2tBWzFdID0gJHNlZkNoZWNrQVswXSA9ICcnOwokc2VmQ2hlY2tBID0gZXhwbG9kZSgnLScsICRsaWNlbnNlKTsKZm9yZWFjaCAoJHNlZkNoZWNrQSBhcyAkaWQgPT4gJGNoZWNrcGFydCkgewokc2VmQ2hlY2tBWyRpZF0gPSBiYXNlNjRfZGVjb2RlKCRjaGVja3BhcnQpOwokY2hlY2tzdHIgLj0gJHNlZkNoZWNrQVskaWRdOwp9ICAgICAgICAkdGhpcy0+ZW5hYmxlZCAmPSAoJGNoZWNrc3VtID09IG1kNSgkY2hlY2tzdHIpKTsKLy8gYXV0dW1uIGFkanVzdG1lbnQKaWYgKCR0aGlzLT5lbmFibGVkKSB7CiRkb21haW4gPSBzdWJzdHIoJF9TRVJWRVJbJ0hUVFBfSE9TVCddLCBzdHJycG9zKCRfU0VSVkVSWydIVFRQX0hPU1QnXSwgJy4nKSArIDEpOwovKnN3aXRjaCAoJGRvbWFpbikgewpjYXNlICdjeic6CmNhc2UgJ3NrJzoKJHR4dCA9ICdTZXJ2ZXIgSG91c2luZywgU2VydmVyIGhvdXNpbmcgVlBTLCBTZXJ2ZXJob3VzaW5nLCBTZXJ2ZXJob3N0aW5nJzsKJHVybCA9ICdodHRwOi8vd3d3LmNvb2xob3VzaW5nLm5ldC9jei5odG1sJzsKYnJlYWs7CmNhc2UgJ3BsJzoKJHR4dCA9ICdLb2xva2FjamEsIEtvbG9rYWNqYSBTZXJ3ZXIsIE1hbmFnZWQgRGVkeWtvd2FueSBTZXJ3ZXIsIFZQUyBzZXJ3ZXJ5IGRlZHlrb3dhbmUnOwokdXJsID0gJ2h0dHA6Ly93d3cuY29vbGhvdXNpbmcubmV0L3BsLmh0bWwnOwpicmVhazsKY2FzZSAnZGUnOgokdHh0ID0gJ0NvbG9jYXRpb24sIERlZGl6aWVydGUgTWFuYWdlZCBTZXJ2ZXJzLCBQcml2YXRlIFJvb3QgVmlydHVlbGxlIFNlcnZlcic7CiR1cmwgPSAnaHR0cDovL3d3dy5jb29saG91c2luZy5uZXQvZGUuaHRtbCc7CmJyZWFrOwpjYXNlICdubCc6CiR0eHQgPSAnQ29sb2NhdGllLCBDby1Mb2NhdGllLCBDby1Mb2NhdGlvbiwgTWFuYWdlZCBEZWRpY2F0ZWQgU2VydmVyLCBWUFMgUHJpdmF0ZVNlcnZlcic7CiR1cmwgPSAnaHR0cDovL3d3dy5jb29saG91c2luZy5uZXQvbmwuaHRtbCc7CmJyZWFrOwpjYXNlICd1ayc6CiR0eHQgPSAnU2VydmVyIFJhY2sgQ29sb2NhdGlvbiwgVlBTIHZpcnR1YWwgcHJpdmF0ZSBzZXJ2ZXInOwokdXJsID0gJ2h0dHA6Ly93d3cuY29vbGhvdXNpbmcubmV0L3VrLmh0bWwnOwpicmVhazsKY2FzZSAnYXUnOgokdHh0ID0gJ1ByYWd1ZSBBcGFydG1lbnRzJzsKJHVybCA9ICdodHRwOi8vd3d3LnRyYXZlbGlhbmEuY29tL3ByYWd1ZS1hcGFydG1lbnRzLXRvLXJlbnQuaHRtbCc7CmJyZWFrOwpjYXNlICdubyc6CmNhc2UgJ3NlJzoKJHR4dCA9ICdQcmFoYSBIb3RlbHMsIFByYWd1ZSBIb3RlbHMsIFByYWd1ZSBBcGFydG1lbnRzJzsKJHVybCA9ICdodHRwOi8vd3d3LnRyYXZlbGlhbmEuY29tL3ByYWd1ZS1ob3RlbHMtYXBhcnRtZW50cy5odG1sJzsKYnJlYWs7CmRlZmF1bHQ6CiR0eHQgPSBudWxsOwp9Ki8KaWYgKCFpc19udWxsKCR0eHQpKSB7Ci8qJHR4dDEgPSAnSm9vbVNFRiBTRU8gYnkgQXJ0aW8gKGh0dHA6Ly93d3cuYXJ0aW8ubmV0KSAtIGRhdGFiYXNlcywgaW5mb3JtYXRpb24gc3lzdGVtIGFuZCB3ZWIgYXBwbGljYXRpb25zJzsKJHR4dDIgPSAnPGJyIC8+PHNwYW4+Sm9vbVNFRiBTRU8gYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcnRpby5uZXQiIHRpdGxlPSJkYXRhYmFzZXMsIGluZm9ybWF0aW9uIHN5c3RlbXMgYW5kIHdlYiBhcHBsaWNhdGlvbnMiPkFydGlvPC9hPic7Ci8vIG90aGVyIHBhZ2UgZm9vdGVyCiRzZWZDaGVja0FbMl0gPSAnPGJyIC8+PHNwYW4+Sm9vbVNFRiBTRU8gYnkgPGEgaHJlZj0iaHR0cDovL3d3dy5hcnRpby5uZXQiIHRpdGxlPSJkYXRhYmFzZXMsIGluZm9ybWF0aW9uIHN5c3RlbXMgYW5kIHdlYiBhcHBsaWNhdGlvbnMiPkFydGlvPC9hPi48L3NwYW4+JzsKLy8gb3RoZXIgcGFnZSBtZXRhCiRzZWZDaGVja0FbM10gPSAnIEpvb21TRUYgU0VPIGJ5IEFydGlvIChodHRwOi8vd3d3LmFydGlvLm5ldCkgLSBkYXRhYmFzZXMsIGluZm9ybWF0aW9uIHN5c3RlbSBhbmQgd2ViIGFwcGxpY2F0aW9ucyc7CiovCi8qJGtleSA9ICdDb29saG91c2luZyAtICcucmVzZXQoZXhwbG9kZSgnLCAnLCAkdHh0KSk7CiRzZWZDaGVja0FbMV0gPSAkdHh0MS4nICYgJy4kdXJsLicgLSAnLiR0eHQ7CiRzZWZDaGVja0FbMF0gPSAkdHh0Mi4nICZhbXA7IDxhIGhyZWY9IicuJHVybC4nIiB0aXRsZT0iJy4kdHh0LiciPicuJGtleS4nPC9hPi48L3NwYW4+JzsKKi8KfQp9Ci8vIGF1dHVtbiBhZGp1c3RtZW50IGVuZApmdW5jdGlvbiB4bWxQYXJzaW5nICgkcGF0aCwgJGJhc2UsICRpbmRleCwgJG9wdGlvbikKewpnbG9iYWwgJF9WRVJTSU9OLCAkc2VmQ2hlY2tBOwppZiAoKCRwYXRoID09ICRiYXNlKSB8fCAoJHBhdGggPT0gKCRiYXNlIC4gJGluZGV4KSkgfHwgKEAkb3B0aW9uID09ICdjb21fZnJvbnRwYWdlJykpIHsKLy8gZnJvbnRwYWdlIGNvZGUKJF9WRVJTSU9OLT5VUkwgLj0gJHNlZkNoZWNrQVswXTsKJF9WRVJTSU9OLT5DT1BZUklHSFQgLj0gJHNlZkNoZWNrQVsxXTsKfSBlbHNlIHsKLy8gb3RoZXIgcGFnZSBjb2RlCiRfVkVSU0lPTi0+VVJMIC49ICRzZWZDaGVja0FbMl07CiRfVkVSU0lPTi0+Q09QWVJJR0hUIC49ICRzZWZDaGVja0FbM107Cn0KfQpmdW5jdGlvbiBpbmNsdWRlU2VmICgkb25jZSA9IGZhbHNlKQp7Cmdsb2JhbCAkbW9zQ29uZmlnX2Fic29sdXRlX3BhdGgsICRzZWZDaGVja0E7CnN0YXRpYyAkZmlyc3QgPSB0cnVlOwppZiAoJG9uY2UgJiYgISAkZmlyc3QpCnJldHVybjsKJHR4dCA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRtb3NDb25maWdfYWJzb2x1dGVfcGF0aCAuICcvY29tcG9uZW50cy9jb21fc2VmL3NlZl9leHQucGhwJyk7CmlmIChzdWJzdHIoJHR4dCwgMCwgNSkgIT0gJzw/cGhwJykgewokdHh0ID0gYmFzZTY0X2VuY29kZSgkdHh0KTsKJHR4dCA9ICRzZWZDaGVja0FbNF0gLiAkdHh0OwokZGV0eHQgPSBiYXNlNjRfZGVjb2RlKCR0eHQpOwokZGV0eHQgPSBzdWJzdHIoJGRldHh0LCAyLCAtIDIpOwpldmFsKCRkZXR4dCk7Cn0gZWxzZSB7CmlmICgkb25jZSkgewppbmNsdWRlX29uY2UgKCRtb3NDb25maWdfYWJzb2x1dGVfcGF0aCAuICcvY29tcG9uZW50cy9jb21fc2VmL3NlZl9leHQucGhwJyk7Cn0gZWxzZSB7CmluY2x1ZGUgKCRtb3NDb25maWdfYWJzb2x1dGVfcGF0aCAuICcvY29tcG9uZW50cy9jb21fc2VmL3NlZl9leHQucGhwJyk7Cn0KfQokZmlyc3QgPSBmYWxzZTsKfQ=='));

Questo codice è codificato in base64, e contiene al suo interno molte istruzioni, alcune delle quali sono indispensabili per il funzionamento di Artio altre invece contengono operazioni di controllo e codificazioni, decodificazioni e molte altre istruzioni abbastanza difficili da comprendere, tra cui la lettura a un file, "signature.b64" che se decodificato visualizza (al posto dei link ho messo dei grassetti):

JoomSEF SEO by Artio. Remove this text by getting registered version.
JoomSEF SEO by Artio. Remove this text by getting registered version. JoomSEF SEO by Artio (http://www.artio.net) - databases, information system and web applications.

Per tenere solo le istruzioni che servono al funzionamento di Artio JoomSef quindi commentiamo la riga 385, e aggiungiamo dopo di essa questo codice (che non è altro che lo stesso codice ripuilto e reso innocuo):

$sefDirAdmin = $GLOBALS['mosConfig_absolute_path'] . '/administrator/components/com_sef/'; // load checksums
$license = trim(@ file_get_contents($sefDirAdmin . 'signature.b64'));
$checksum = trim(@ file_get_contents($sefDirAdmin . 'checksum.md5'));
function xmlParsing($path, $base, $index, $option) {
  global $_VERSION, $sefCheckA;
  if (($path == $base) || ($path == ($base . $index)) || (@ $option == 'com_frontpage')) { // frontpage code
    $_VERSION->URL .= $sefCheckA[0];
    $_VERSION->COPYRIGHT .= $sefCheckA[1];
  } else { // other page code
    $_VERSION->URL .= $sefCheckA[2];
    $_VERSION->COPYRIGHT .= $sefCheckA[3];
    }
  }
function includeSef ($once = false) {
  global $mosConfig_absolute_path, $sefCheckA;
  static $first = true;
  if ($once && ! $first) return;
  $txt = file_get_contents($mosConfig_absolute_path . '/components/com_sef/sef_ext.php');
  if (substr($txt, 0, 5) != '<?php') {
    $txt = base64_encode($txt);
    $txt = $sefCheckA[4] . $txt;
    $detxt = base64_decode($txt);
    $detxt = substr($detxt, 2, - 2);
    eval($detxt);
  } else {
    if ($once) {
      include_once ($mosConfig_absolute_path . '/components/com_sef/sef_ext.php');
    } else {
      include ($mosConfig_absolute_path . '/components/com_sef/sef_ext.php');
    }
  }
  $first = false;
}

Dopodichè salviamo e testiamo il nostro sito in locale, se non notate alcuna differenza è andato tutto bene.

Conclusione

Non è l'unico caso in cui vengono utilizzati questi piccoli trucchi, e a mio avviso non c'è niente di cui scandalizzarsi: ci sono molte persone che utilizzano codice open source per i propri lavori, e fin qui non c'è niente di male, ma coloro che non ricambiano, che tolgono i riferimenti agli autori, che distribuiscono codice open source spacciandolo per proprio a volte anche a pagamento stimolano gli sviluppatori a compiere queste azioni.
Se chi utilizza codice open source fosse più propenso a ringraziare gli autori per il loro codice, gli sviluppatori non avrebbero bisogno di questi trucchetti per avere un minimo di ritorno dal proprio lavoro.
Certo è che utilizzando questo tipo di mezzi si passa dalla parte del torto.

Commenti utenti  

Visualizza 10 di 10 commenti

Alternativa

Vorrei solo dire che si può avere lo stesso risultato anche modificando la pagina joomla/includes/footer.php togliendo semplicemente 
 
questa stringa URL; ?> 
 
fermo restando che sarebbe buono mettere una pagina del proprio sito con i link diretti in HTML ai siti degli sviluppatori che ci offrono il loro lavoro a GRATIS!  
Lo meritano senza alcuna riserva, come potete vedere dal mio sito vostroportale.it

Scritto da: angelcs (Membro) 11-05-2008 20:26

Grazie

grazie, ma l'articolo non si riferisce al footer, ma bensì ad artio joomsef, che in certi casi (dipende principalmente dal dominio su cui è installato, sui domini .it non succede) include dei link nascosti all'interno del codice di Joomla, che il footer sia presente oppure no. 
In realtà il file che sta in joomla/includes/footer.php non viene utilizzato sempre, ma è una scelta di chi realizza il template se includerlo oppure no. Togliendo quell'inclusione, i problemi dello spam di artio non vengono risolti. 
 
Ad ogni modo, perfavore evita di fare spamming del tuo sito su Joomlashow, puoi far conoscere il tuo sito in altri modi più positivi, meno spammosi e più fruttuosi. 
Grazie.

Scritto da: double_d (Membro) 12-05-2008 21:41

Prego

Ma come prima mi ringrazi e poi mi dici che faccio spamm. Non ti permettere! Io non ho fatto spamm semplicemente perchè non vedo scritto che è vietato inserire link nei commenti tra l'altro a contenuti attinenti al tuo sito, perchè se vedi meglio il mio sito parla sia di Joomla che di altri progetti open source. 
 
Comunque io ho inserito il mio sito nei commenti perchè ce la funzione link che lo permette

Scritto da: angelcs (Guest) 13-05-2008 10:54

..

Evita di fare SPAM, grazie.

Scritto da: double_d (Membro) 13-05-2008 11:09

Quale spam?

Grazie un corno, ti ho gia detto che non era mia intenzione fare spamm e ti vieto di continuare a scrivere che faccio spamm quando non lo hai scritto da nessuna parte che sono vietati i link nei commenti, infatti ce la funzione LINK, Scusami ma vorrei sapere perchè ce l'hai con me, io non ti conosco e solo perchè i commenti del tuo sito permettono d'inserire LINK un commento con link attinente a joomla tu ritieni opportuno darmi dello spammer. Ti avevo gia detto che non era mia intenzione fare SPAM, anche perchè non so quali sono i tuoi canoni di spamm e non ho potuto leggere nessuna guida all'utilizzo del sito e relative cosa vietate. Perciò ti chiedo di evitare di trattarmi così e di nominarmi come spam perchè se tu non lo hai specificato io NON POSSO LEGGERTI NEL PENSIERO NON CREDI? 
Se non vuoi link nei commenti scrivilo chiaramente invece di trattarli male i tuoi visitatori. 
Ed infine ti ringrazio per questo trattamento che mi hai riservato.

Scritto da: angelcs (Guest) 13-05-2008 14:11

Nessun trattamento riservato

Nessun trattamento riservato, non capisco perchè se la prende tanto. 
Ha fatto spam, ossia ha ostinatamente messo link al tuo sito in tutti i commenti che ha lasciato. E' una regola comune nel web non farlo. Un link va bene, ma 100 e ad ogni commento no grazie. 
Lo faccio con tutti e non solo con lei, se se la prende evidentemente c'è qualcosa che non va. 
Finiamo qui questa sterile discussione, grazie.

Scritto da: double_d (Membro) 13-05-2008 14:16

A sembra invece che...

rimuovete dal file sef.class.php la Riga 1005 
$buf = ''.''.'S'.'E'.'O'.' '.'b'.'y'.' '.'A'.'r'.'t'.'i'.'o'.''.''; 
 
Ver. JoomSEF v2.3.0

Scritto da: madmax (Guest) 22-08-2008 14:01

Questo articolo riguarda la versione 2.2

Questo articolo riguarda la versione 2.2.6, ho notato che hanno cambiato il metodo in Artio 2.3.0 
 
Come dice madmax, è necessario cancellare quella riga lì, ma nel mio caso era la riga 503.

Scritto da: double_d (Membro) 22-10-2008 16:47

Versione ARTIO JoomSEF v3.2.1

Scusate per la versione di ARTIO JoomSEF v3.2.1 mi si presenta lo stesso problema. 
Ho provato a seguite le vostre istruzioni ma nella cartella 
 
administrator/components/ com_sef/ 
 
non esiste proprio il file sef.class.php 
 
qualcuno riesce a darmi due indicazioni in merito? 
 
grazie

Scritto da: Alberto (Guest) 04-11-2008 07:33

RE: Versione ARTIO JoomSEF v3.2.1

Attualmente uso la 2.3.0 e ARTIO dice che non sono disponibili aggiornamenti.. 
T hai la 2.3.1?

Scritto da: double_d (Membro) 06-11-2008 19:18

Aggiungi il tuo commento

Nome
E-mail
Titolo  
Commento
 

Caratteri rimasti: 1000

   
   
   
‹ Precedente   Successivo ›

Login

Hai dimenticato la password?

Registrati