GeneWeb - Åtkomst restriktioner |
Med GeneWeb, kan du:
Begränsa inline uppdateringar: wizard behörighet.
Skydda den privata informationen: friend behörighet.
| Skydda den globala åtkomsten till en databas.
| Skydda den globala åtkomsten till gwd service.
| |
Om din databas ligger på en internet sajt, behöver du bara bry dig om de första tre punkterna.
De första två punkterna (global åtkomst) fungerar endast i server mod. I CGI mod, måste du använda de möjligheter som din HTTP server ger.
Eftersom ämnet handlar om åtkomst restriktioner, behandlar nästa kapitel robotar och sätt att hindra dem från att förstöra. Den sista delen ger ett ännu tuffare sätt att begränsa behörigheten: den svartalistan.
I detta fall, har endast personerna som har angett det rätta "wizard" passordet rätten att göra uppdateringar. De andra kan normalt navigera men ser inte den klickbara texten "uppdatera" på de personliga sidorna.
För att installera ett "wizard" passord, gör så här:
Om du normalt brukar använda "gwsetup" programmet, starta det, gå till
huvudmenyn och välj "databas parametrar". Skriv "wizard"
passordet och gör "OK".
Om du inte använder "gwsetup", editera din fil "foo.gwf" (för en databas
benämnd "foo"). Om denna fil inte existerar, skapa den genom att
kopiera mallfilen "a.gwf" inkluderad i distributionen.
Skriv in ditt passord som värde för variabeln "wizard_password". Exempel:
| wizard_passwd=xyzzy Om din databas finns på en sajt, be
administratören att skriva in ett "wizard" passord. Gå alltid genom
honom sedan för att ändra passordet.
| |
När ett "wizard" passord är installerat, ger välkomstsidan (den med flaggorna) dig en rad för passorden.
I server mod, visar sidan "Uppdaterings tillträde" på vilken du kan
klicka: din webbläsare öppnar då ett fönster där du kan skriva passordet
på rätt rad ("användare" raden ignoreras; du kan skriva vad som
helst där).
I CGI mod eller om det finns en global åtkomstbehörighet (se nedan),
visas en inmatningsrad. Ange ditt passord och klicka "OK" (i detta
fall är passordet synligt och kommer att vara synligt i URLen under hela
navigationen).
| |
Efter att ha skrivit in passordet, måste välkomstsidan visas igen. Du kan se att du är i "wizard" mod därför att texterna "modifiera familj" och "modifiera noteringar" ska visas.
I navigation, på de personliga sidorna, har du rätt att "uppdatera".
Födslar, dödsfall, äktenskap, etc. datum och platser.
Yrke.
| Noteringar.
| Bild.
| "Andra relationer" (gudföräldrar, adoptivföräldrar, etc).
| |
Den andra genealogiska informationen (föräldrar, barn) visas ändå.
Om det finns ett "friend" passord, kan endast personer som har angett detta passord (eller "wizard" passordet) se den privata informationen.
För att installera ett "friend" passord, gör som med "wizard" passordet ovan. Om du skapar filen "foo.gwf" själv, är variabel namnet "friend_passwd".
Varning: detta fungerar endast i server mod. Om du är i CGI mod, måste du använda de möjligheter som din HTTP server ger (den nuvarande dokumentationen förklarar inte hur, därför att det beror på server).
Du måste först skapa en behörighetsfil. Denna textfil innehåller rader som "användare:passord". Till exempel:
svensson:ex23zuu martin:2wxuz4
För att installera denna behörighetsfil, gör så här:
Kopiera din fil i databas katalogen. I standard
installationen, är det katalogen "gw". Editera din fil "foo.gwf"
(om din databas namn är "foo"; om denna fil inte finns, gör en
kopia av mallfilen "a.gwf" som finns med i distributionen).
Skriv in din behörighetsfils namn du just skrev, som värde för
variabeln "auth_file". Till exempel (om du kallade din behörighetsfil
"foo.auth"):
auth_file=foo.auth Om din databas finns på en sajt, be administratören genom
att skicka honom behörighets filen.
| |
När man gör åtkomster i denna databas, kommer webbläsaren att öppna ett fönster där du ska ange det rätta användarnamnet och passordet.
I exemplet ovan, har du skrivit "svensson" som "användare" och "ex23zuu" som "passord" eller "martin" som "användare" och "2wxuz4" som "passord".
Om ditt passord inte stämde, har du ingen behörighet alls till databasen.
Databaserna är sedan åtkomstbara endast genom åtkomstprotokoll. Men om några databaser har en specifik global åtkomst restriktion (se föregående kapitel), gäller denna.
Varning: som för föregående kapitel, detta fungerar endast i server mod, inte i CGI mod.
Du måste skapa en behörighetsfil. Det kan bara göras av administratören: om din databas ligger någon annanstans, behöver du inte bekymra dig om detta.
Den globala åtkomstbehörigheten görs med parametrar för "gwd" kommandot. Optionen är "-auth" och måste följas av namnet för behörighetsfilen.
De flesta av dessa robotar är dåliga idéer, därför att antalet möjliga sidor är nästan oändligt. Till exempel, om roboten startar från en personligsida, "klickar" på "släktskapsberäkning", sedan på maka, beräknas alla anlinjer emellan personen och hans hustru, sedan kan roboten klicka på alla detaljer för dessa länkar och på alla mellanliggande personer och så vidare.
Idén för dessa personer som startar en robot är ofta: istället för att sitta i timmar och klicka på den här intressanta sajten, laddar jag ner alla dess sidor nu och läser dem i lugn och ro senare, samt fria telefonlinjen.
Oturligt nog, eftersom GeneWeb servicen är en labyrint utan utgång, gör detta bara en sak: överlastar personens hårddisk med HTML sidor.
Från sajt innehavarens synpunkt, är han generellt inte glad åt att få så många åtkomster på så kort tid, ibland mer än 10 per sekund. Därför:
Det slöar ner hans dator,
Det slöar ner de andra användarna som konsulterar sajten normalt,
| Det förstör statistiken för åtkomsterna,
| Det ger känslan av att vara övervakad.
| |
Men sidorna som GeneWeb skapar indikerar klart till roboten (i protokollet) att inte fortsätta utforska från sidan.
"Goda" robotar, de som indexerar webbsidor eller hela internet, respekterar detta protokoll. Men när man startar en robot, är det möjligt att säga åt den att ignorera det.
Mot dessa oartiga robotar, finns optionen "-robot_xcl" för gwd. Den är baserad på observationen av hur snabbt åtkomsterna kommer från en och samma plats.
Parametrarna är två nummer, separerade av ett komma. Det första är ett nummer "x" för åtkomster och det andra är ett nummer "y" för sekunder. Om någon adress gör fler "x" åtkomster på "y" sekunder, registreras adressen automatiskt i en svartlista och alla framtida åtkomster är refuserade med ett lämpligt meddelande.
Exempel:
gwd -robot_xcl 100,150
Om fler än 100 åtkomster på 150 sekunder upptäcks från en och samma plats, har den adressen ingen mer åtkomstbehörighet tills sajt innehavaren bestämmer sig att "fria" den.
För att fria de förbjudna adresserna, behöver bara sajt innehavaren radera filen benämnd "robot" som ligger i katalogen "cnt".
Skapa ett fil namn "gwd.xcl" och lägg den i samma katalog som kommandot "gwd".
Editera denna textfil och skriv adresserna (en per rad) som du vill hindra. Du kan skriva "*" för att indikera vilka tecken som helst. Exempel:
stora-stygga@vargen.skogen fantomen-*@djungeln.bengalen
Detta hindrar åtkomster från adresser som "stora-stygga@vargen.skogen", "fantomen-22@djungeln.bengalen", "fantomen-xx@djungeln.bengalen" och så vidare. Om du bara skriver en rad med "*", blir alla adresser hindrade (inklusive din egen).