Accesso diretto o indiretto a sito Moodle

Accesso diretto o indiretto a sito Moodle

di Maurizio Scibilia -
Numero di risposte: 5

Scusate in partenza se pongo una domanda già posta ma non ho trovato la risposta da nessuna parte,


ho un sito Moodle che viene richiamato da un sito Joomla e vorrei forzare gli utenti a passare sempre da lì per accedervi ma, dato che il sito Moodle è in testa alle indicizzazioni di Google, gli utenti vi accedono direttamente.

E' in qualche modo possibile evitarlo, in pratica impedendo che il sito sia accessibile digitandone l'indirizzo direttamente?

Media dei voti:  -
In riposta a Maurizio Scibilia

Re: Accesso diretto o indiretto a sito Moodle

di Matteo Scaramuccia -

Ciao Maurizio,
un prima possibilità è fare in modo che:

  • Joomla! e Moodle condividano gli stessi account;
  • Moodle non preveda accessi Guest;
  • Joomla! sia il punto unico di ingresso per le autenticazioni.

Un modo per farlo ad esempio è usare i plug-in messi a disposizione da Joomdle.

Se invece vuoi lasciare tutto come configurato ora puoi utilizzare il HTTP Referer, a volte non disponibile, per limitare la possibilità di accesso diretto. Se la tua istanza gira sotto Apache ad esempio potresti fare qualcosa simile a:

Options +FollowSymlinks
RewriteEngine On
# If referer is not from your Joomla! (joomla.example.net) or Moodle (moodle.example.net) instances:
RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)example.net/ [NC]
# and referer is not blank or "-":
RewriteCond %{HTTP_REFERER} !^-?$
# then redirect the initial request to your Joomla! instance:
RewriteRule ^(.*)$ http://joomla.example.net/ [R,L]

Controlla anche i settaggi della tua istanza Moodle: potresti aver configurato la possibilità da parte di Google di fare accesso alla tua istanza e potrebbe essere una valida - e magari voluta ammiccante - ragione per la forte indicizzazione.

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Accesso diretto o indiretto a sito Moodle

di Maurizio Scibilia -

Grazie mille Matteo, per la risposta estremamente circostanziata.

L'autenticazione in questo momento è prevista per Moodle, mentre la parte Joomla è una specie di vetrina, ragione per la quale non ho integrato Joomdle, ma questo potrebbe sempre cambiare. In questo momento sto cercando di bloccare i motori di ricerca dall'indicizzare la sezione Moodle del mio sito: ho fatto richiesta a Google e sto provando a inserire robots.txt nella home directory del sito.

Per quanto riguarda invece HTTP Referer, cui hai fatto riferimento tu, devo tristemente ammettere ce non ne so nulla e nemmeno ho capito esattamente che cosa dovrei fare: non è che potresti spiegarmelo in qualche modo? (quando hai un minuto di tempo, in queste ore frenetiche, ovviamente)


Grazie ancora di tutto,

HNY

Maurizio


PS: L'opzione su Google nel pannello administrator di Moodle è disabilitata ...



In riposta a Maurizio Scibilia

Re: Accesso diretto o indiretto a sito Moodle

di Matteo Scaramuccia -

Ciao Maurizio,
proverò ad essere più "passo passo".

  1. La tua istanza Moodle è ospitata su un server il cui web server è Apache? Se si, prosegui altrimenti mi spiace ma il mio suggerimento non è applicabile a meno di non avere più informazioni su cosa esattamente stia girando la tua istanza;
  2. Quale versione di Apache esattamente? 2.2 o 2.4, con il modulo per il rewriting attivo? Proseguiamo a scommessa...;
  3. Come accedono i tuoi utenti a Moodle e Joomla? Immagino due opzioni joomla.example.net e moodle.example.net oppure qualcosa.example.net/joomla e qualcosa.example.net/moodle. Ho supposto sia la prima (anche se mi aspetto sarà la seconda ammiccante): nel caso, scrivi qui come gli utenti accedono alle due istanze omettendo pure il vero dominio (puoi usare example.net come ho fatto io);
  4. Crea un file dal nome .htaccess dentro la cartella dove hai copiato il codice di Moodle;
  5. Dentro questo file inserisci il testo del mio post precedente;
  6. Prova ad entrare in Moodle con una pagina "nuova" (bianca) del browser. Possono succedere due cose ora: il web server ti da errore 500 e non fa entrare più nessuno => per sbloccare il tutto puoi cancellare il file (prima di cancellare prova a commentare - basta mettere il # come primo carattere - la prima riga per vedere se sia solo quella il problema) oppure... vedi Moodle come prima;
  7. Prova ora a collaudare il tutto: fai una ricerca su Google e clicca sul tuo Moodle, sarai allora rediretto a Joomla, prova ad aprire come nel (6) e entrerai diretto in Moodle, prova a navigare su Moodle dopo esserci arrivato "correttamente" e dovrebbe funzionare tutto come prima.

Perchè aprire Moodle in pagina bianca - vedi (6) - funziona? Perché alcuni software (ad es.: antivirus, personali o aziendali) puliscono l'HTTP Referer e quindi quel valore rimarrebbe sempre vuoto impedendo l'ingresso a quei visitatori che usino software così configurati. Se vuoi che anche loro non possano entrare allora devi commentare la riga 6, dopo ovviamente il collaudo di cui al (7).

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: Accesso diretto o indiretto a sito Moodle

di Maurizio Scibilia -

Scusa Matteo,

ho solo ora modo di risponderti, nei prossimi giorni verificherò la tua dettagliata risposta al mio quesito. Comunque, il Web Server è Apache, gli utenti accedono con blablabla.com/moodle e questo non dovrebbe accadere. Ho settato un robots.txt, chiesto a Google di eliminare quella directory: qualcosa è andato via, ma qualcosa ancora rimane.

Grazie davvero tantissimo,


Maurizio

In riposta a Maurizio Scibilia

Re: Accesso diretto o indiretto a sito Moodle

di Matteo Scaramuccia -

Ciao Maurizio,
prova allora questo:

Options +FollowSymlinks
RewriteEngine On
# If referer is not from your landing site (www.example.net) under which
# the Moodle instance has been deployed (www.example.net/moodle):
RewriteCond %{HTTP_REFERER} !^https?://www.example.net [NC]
# and referer is not blank or "-":
RewriteCond %{HTTP_REFERER} !^-?$
# then redirect the initial request to your landing site, the Joomla! instance:
RewriteRule ^(.*)$ http://www.example.net/ [R,L]

HTH,
Matteo