| # GeneWeb - Limitazioni d'accesso

Se la vostra base dati visibile sul Web, vorrete forse avere a disposizione la possibilità di limitare l'accesso alle informazioni che vi si trovano.

Con GeneWeb, potete:

- Limitare le modifiche in linea: accesso Wizard.
- Proteggere le informazioni di carattere privato: accesso amico.
- Proteggere l'accesso globale a una base di dati.
- Proteggere l'accesso globale al service gwd.

Se la vostra base dati si trova su un sito web, solo i primi tre punti vi concernono.

Gli ultimi due punti non funzionano che in modo server. In modo cgi, bisogna utilizzare le utilities fornite dal server HTTP da cui dipendete.

Dato che parliamo di limitazioni d'accesso, il paragrafo seguente concerne il problema dei robots e i mezzi per impedire loro di nuocere. L'ultimo paragrafo indica un metodo ancora più brutale di limitazione d'accesso: lalista nera.

### Limitazione delle modifiche: accesso "Wizard"

Se non volete che un visitatore qualunque possa effettuare delle modifiche in linea, dovete dotare la vostra base dati di una password "Wizard".

In questo caso, solo coloro che forniranno la buona password "Wizard" avranno il diritto di fare delle modifiche. Gli altri potranno navigare normalmente ma non avranno accesso alla zona "aggiornamento" nelle pagine personali.

Per installare la password "Wizard" bisogna agire della sorta:

- Se utilizzate il programma "gwsetup", lanciate "gwsetup", andate in "menu principale" e selezionate "parametri di una base dati. Indicate una password "Wizard" e cliccate su "Ok".
- Se non utilizzate "gwsetup", editate il file "pippo.gwf" (per una base che si chiama "pippo"). Se questo file non esiste, createlo facendo una copia del file modello "a.gwf" fornito con la distribuzione. Mettete la vostra password nella variabile "wizard_passwd". Ad esempio:

      wizard_passwd=xyzzy

- Se la vostra base dati si trova su un sito, chiedete all'amministratore del sito di attribuirvi una password "Wizard". Rivolgetevi sempre a lui se, in seguito, volete cambiare questa password.

Quando è installata una password "Wizard", la pagina di benvenuto (quella con le bandiere) conterrà una zona per la password.

- In modo server, la pagina mostra una zona "accesso wizard" sulla quale potete cliccare: il vostro navigatore farà apparire una finestra dove dovrete indicare la password nella zona prevista (la zona "utilizzatore" ignorata, potete metterci ciò che più vi aggrada).
- In modo CGI o se avete una autorizzazione globale d'accesso (vedi più in basso), è invece una finestra testo che viene visualizzata. Digitate la vostra password e cliccate su "Ok" (in questo caso la password è visibile nell'URL durante la navigazione).

Dopo aver digitato la password, la pagina di benvenuto deve visualizzarsi di nuovo. Potete capire che vi trovate in modo "Wizard" dal fatto che dovrebbe apparire un testo cliccabile "modificare famiglia" oltre che "modificare note".

Durante la navigazione nelle pagine personali, avrete accesso a "aggiornamento".

### Protezione delle informazioni private: accesso "amico"

Se volete proteggere le informazioni private della vostra base, dovrete utilizzare una password "amico". I dati privati riguardano unicamente le persone nate da meno di un secolo e sono:

- Le date e luoghi di nascita, morte, matrimonio, ecc.
- La professione
- Le note
- L'immagine
- Le "altre relazioni" (padrini, madrine, genitori adottivi, ecc.)

Le altre informazioni genealogiche (genitori, figli) restano sempre visibili.

Se esiste una password "amico", solo le persone che la posseggono (o che posseggono la password "Wizard") potranno visualizzare i dati privati.

Per installare una password "amico", procedete come per l'installazione della password "Wizard" descritta sopra. Se editate il file "pippo.gwf", la variabile si chiama "friend_passwd".

### Limitazione globale d'accesso a una base dati

Se volete che la vostra base dati sia visibile solo da determinate persone, potete installare una limitazione globale d'accesso.

Attenzione: questa limitazione funziona solo in modo server. Se siete in modo CGI, bisogna utilizzare i mezzi forniti dal server HTTP da cui dipendete (la maniera di procedere differisce secondo il tipo di server).

Bisogna innanzitutto creare un file d'autorizzazioni. Questo file testo contiene delle linee del tipo "utilizzatore:password". Ad esempio:

        bianchi:ex23zuu
        verdi:2wuxz4

Per installare il file delle autorizzazioni, procedete come segue:

- Copiate il vostro file nella directory delle basi di dati. In una installazione standard, si tratta normalmente della directory "gw". Poi, editate il file "pippo.gwf" (se la vostra base si chiama "pippo"; se il file non esiste createlo copiando il file modello "a.gwf" fornito con la distribuzione). Mettete il nome del file delle autorizzazioni che avete redatto come valore della variabile "auth_file"". Ad esempio (se avete chiamato "pippo.auth" il vostro file delle autorizzazioni):

          auth_file=pipp.auth

- Se la vostra base si trova su un sito, chiedete all'amministratore del sito di effettuare la modifica e inviategli il file delle autorizzazioni.

Al momento di accedere alla base dati, il vostro navigatore visualizzerà una finestra dove dovrete digitare un nome d'utilizzatore valido e la password corrispondente.

Nell'esempio riprodotto qui sopra, bisognerà mettere "bianchi" nella parte "utilizzatore" e "ex23zuu" nella parte "password", oppure "verdi" nella parte "utilizzatore e "2wuxz4" nella parte "password".

Se la password digitata non è valida, non potrete accedere alla base di dati.

### Limitazione globale d'accesso al service gwd

Se volete che il service gwd del vostro sito non sia accessibile che a determinate persone, dovete indicare una limitazione globale di accesso al service. Questa limitazione si applicherà a tutte le basi gestite da questo service.

Le basi di dati saranno quindi accessibili solo tramite protocollo d'accesso. Se ciononostante, una determinata base ha una limitazione d'accesso globale specifica (vedi paragrafo precedente), sarà piuttosto questa limitazione specifica che verrà presa in considerazione.

Attenzione: come detto nel paragrafo precedente, questa limitazione funziona in modo server, e non in modo CGI.

Anche in questo caso bisogna creare un file delle autorizzazioni. Questo file non può essere gestito che dall'amministratore del sito: se la vostra base installata altrove, ciò non vi riguarda.

L'autorizzazione globale d'accesso si effettua con i parametri del comando "gwd". L'opzione si chiama "-auth" e deve essere seguita dal nome del file delle autorizzazioni.

### I robots

Certuni inviano talvolta dei "robots" sul vostro sito. I robots sono dei programmi che esplorano il vostro sito sistematicamente, partendo ad esempio da una certa pagina e "cliccando" su tutto quanto è cliccabile, ricominciando in seguito l'operazione quando si ritrovano su delle nuove pagine.

L'uso della maggior parte di questi robot è una pessima idea, dato che il numero delle pagine possibili è praticamente infinito. Ad esempio, se un robot parte da una pagina personale e clicca su "calcolo della parentela" e poi sul congiunto, ciò provocherà il calcolo di tutte le relazioni di parentela tra la persona e il suo congiunto, poi potrà ancora cliccare su tutti i dettagli di queste relazioni, poi su tutte le persone intermediarie, ecc. ecc.

L'idea delle persone che lanciano dei robots è: piuttosto di passare delle ore a cliccare su questo interessante sito, scarico tutte le pagine per consultarle tranquillamente in seguito, a casa mia, senza occupare la linea telefonica.

Malauguratamente, dato che il service GeneWeb è un labirinto senza uscita, questa azione si terminerà con un unico risultato: saturare il disco fisso della persona in questione con delle pagine HTML.

Dal lato del proprietario del server, poi, non si è certo contenti di venir mitragliati di richieste, fino a 10 al secondo, perché:

- Il computer viene rallentato
- Vengono rallentati gli altri visitatori che consultano il sito normalmente
- Le statistiche di accesso al sito vengono falsate
- Si ha la sgradevole impressione di essere spiati

Per questo, le pagine fabbricate da GeneWeb indicano espressamente ai robots (nel loro protocollo) di non proseguire l'esplorazione a partire da queste pagine.

I "buoni" robots, quelli che indicizzano le pagine Web di tutto il mondo, rispettano questo protocollo e non insistono. Ma quando si lancia un robot, gli si può anche dire di ignorarlo.

Contro questi robots maleducati, esiste l'opzione "-robot_xcl" di gwd. Si basa sull'osservazione delle richieste che hanno tutte la medesima provenienza.

I parametri sono due numeri, separati da una virgola. Il primo è il numero "x" d'accessi e il secondo il numero "y" di secondi. Se un indirizzo IP fa più di "X" accessi in "y" secondi, l'indirizzo viene annotato in una lista nera e tutte le richieste future provenienti da questo indirizzo sono rifiutate con un appropriato messaggio.

Esempio:

        gwd -robot_xcl 100,150

Se si osservano più di 100 richieste in 150 secondi provenienti da uno stesso indirizzo, l'indirizzo in questione viene bloccato fino a che l'amministratore del sito non decida di toglierlo dalla lista nera.

Per liberare gli indirizzi banditi, l'amministratore deve semplicemente cancellare il file chiamato "robot" che si trova nella directory "cnt". Ciò gli è d'altronde indicato nelle tracce d'accesso.

### La lista nera

La lista nera permette di vietare l'accesso a un sito GeneWeb a degli indirizzi o a dei gruppi di indirizzi internet.

è sufficiente fabbricare un file che si chiamerà "gwd.xcl" e metterlo nella stessa directory del comand "gwd".

Editate questo file testo e indicate gli indirizzi che volete rifiutare (uno per linea). Potere mettere dei "*" per indicare una qualsiasi stringa di caratteri. Esempio:

        lupocattivo@bosco
        provider*@internet

Questa operazione vieta l'accesso a "lupocattivo@bosco", "provider22@internet", "providerxx@internet", ecc. Se indicate su una linea solamente "*", tutti gli indirizzi saranno vietati (compreso il vostro).

Ritorna a Istruzioni per l'uso

Copyright (c) 1998-2005 INRIA - GeneWeb