File: access.htm

package info (click to toggle)
geneweb 5.01-8lenny1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 7,232 kB
  • ctags: 3,690
  • sloc: ml: 57,243; sh: 1,088; makefile: 608
file content (427 lines) | stat: -rw-r--r-- 12,564 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
            "http://www.w3.org/TR/REC-html40/loose.dtd">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>GeneWeb - Zugriffsbeschr&auml;nkungen</title>
</head>
<body background="../images/gwback.jpg">
<table border=0 width="100%">
<tr>
<td>
<a href="http://www.geneweb.org/"><img width=96
height=108 src="../images/gwlogo.png" align=left border=0 alt=GeneWeb></a>
</td>
<td align=left>
<h1><font color=#2f6400>GeneWeb - Zugriffsbeschr&auml;nkungen</font></h1>
</td>
</tr>
</table>
</font>
<br><br>

Wenn deine Datenbank im Web sichtbar ist, m&ouml;chtest du vielleicht
Ma&szlig;nahmen
ergreifen, um den Zugriff auf die darin enthaltenen Informationen
einzuschr&auml;nken.

<p>

Mit <font color=#2f6400><b>GeneWeb</b></font> kannst du:

<ul>

<li>Online-Änderungen beschr&auml;nken: <a href="#Wiz">Wizard</a>-Zugriff.

<li>Private Informationen sch&uuml;tzen: <a href="#Fri">Freund</a>-Zugriff.

<li>Zugriff auf eine <a href="#DBA">Datenbank</a> global sch&uuml;tzen.

<li>Zugriff auf den <a href="#GWA">gwd-Dienst</a> global sch&uuml;tzen.

</ul>

<p>

Wenn deine Datenbank in eine Website eingebunden ist, betreffen dich nur
die ersten drei Punkte.

<p>

Die letzten beiden Punkte (globaler Schutz) funktionieren nur
im Servermodus. Im CGI-Modus m&uuml;ssen die Methoden des jeweils
verwendeten HTTP-Servers eingesetzt werden.

<p>

Da sich dieses Kapitel mit Zugriffsbeschr&auml;nkungen besch&auml;ftigt,
behandelt der n&auml;chste Abschnitt das Thema
<a href="#Rob">Roboter</a> und wie man sie davon abh&auml;lt, Schaden
anzurichten. Der letze Abschnitt beschreibt einen noch sch&auml;rferen
Weg der Zugriffsbeschr&auml;nkung: 
Die <a href="#Bla">schwarze Liste</a>.

<hr>
<h3><font color=#2f6400><a name="Wiz">Online-Änderungen einschr&auml;nken:
"Wizard"-Zugriff</a></font></h3>

Wenn du nicht m&ouml;chtest, da&szlig; jemand Änderungen an deiner Datenbank
vornehmen kann, mu&szlig;t du ein "Wizard"-Kennwort auf deine Datenbank
legen.

<p>

In diesem Fall k&ouml;nnen nur Personen Online-Änderungen vornehmen, die das
korrekte "Wizard"-Kennwort besitzen. Alle anderen k&ouml;nnen normal
navigieren, aber sie bekommen den klickbaren "Ändern"-Text in den
Personenseiten nicht angezeigt.


<p>

Um ein "Wizard"-Kennwort einzurichten, gehe wie folgt vor:

<p>

<ul>

<li>Wenn du normalerweise "gwsetup" f&uuml;r die Konfiguration verwendest,
starte das Programm nun, gehe in das Hauptmen&uuml; und w&auml;hle
"Konfiguriere Parameter einer Datenbank".
Trage das "Wizard"-Kennwort ein und dr&uuml;cke "Ausf&uuml;hren".


<li>Wenn du "gwsetup" nicht benutzt, bearbeite die Datei
"meier.gwf" (f&uuml;r eine Datenbank namens "meier"). Falls diese Datei
nicht existiert, erzeuge sie, indem du eine Kopie der mitgelieferten
Beispieldatei "a.gwf" machst.
Gib dein Kennwort als Wert der Variablen "wizard_passwd" ein.
Beispiel:

<pre>
     wizard_passwd=xyzzy
</pre>

<li>Wenn deine Datenbank in eine Website eingebunden ist,
bitte den Administrator, ein "Wizard"-Kennwort einzutragen.


</ul>

<p>

Wenn ein "Wizard"-Kennwort installiert ist, wird auf der Startseite
(die mit den Flaggen) ein Bereich f&uuml;r die Kennworteingabe angezeigt.

<p>

<ul>

<li>Im Servermodus zeigt die Seite einen Text "Wizard-Zugang", der
anklickbar ist. Dein Browser blendet dann ein Fenster auf, in dem du
das Kennwort eingeben kannst (das Feld "Benutzername" wird ignoriert,
gib hier einfach irgendetwas ein).

<li>Im CGI-Modus oder falls es eine globale Zugriffsberechtigung gibt
(siehe unten), wird ein Eingabefeld eingeblendet. Gib hier dein
Kennwort ein und dr&uuml;cke "Ok" (in diesem Modus ist das Kennwort
sichtbar und bleibt w&auml;hrend der Navigation
auch in den URLs sichtbar).

</ul>

<p>
Nachdem du das Kennwort eingegeben hast, wird die Startseite neu
angezeigt. Du kannst erkennen, da&szlig; du nun im "Wizard"-Modus bist, denn
die Texte "Familie hinzuf&uuml;gen" und "Notizen &auml;ndern" werden nun
angezeigt.

<p>
Beim Navigieren hast du auf den Personenseiten au&szlig;erdem Zugriff
auf die Funktion "Aktualisieren".

<hr>
<h3><font color=#2f6400><a name="Fri">Private Informationen sch&uuml;tzen:
"Freund"-Zugriff</a></font></h3>

Wenn du die privaten Informationen in deiner Datenbank sch&uuml;tzen
m&ouml;chtest, mu&szlig;t du ein "Freund"-Kennwort eintragen. Die privaten
Daten betreffen nur die Personen, die vor weniger als hundert
Jahren geboren wurden und sind:

<p>

<ul>

<li>Geburts-, Todes-, Hochzeits-, usw. -daten und -orte

<li>Beruf

<li>Notizen

<li>Bild

<li>"Andere Beziehungen" (Taufpaten, Adoptiveltern, usw.)

</ul>

<p>

Die &uuml;brigen Genealogieinformationen (Eltern, Kindern) bleiben
immer sichtbar.

<p>

Wenn es ein "Freund"-Kennwort gibt, k&ouml;nnen nur die Personen,
die dieses Kennwort (oder das "Wizard"-Kennwort) eingegeben haben, die
privaten Informationen sehen.

<p>

Um ein "Freund"-Kennwort einzurichten, verfahre wie oben 
beim "Wizard"-Kennwort beschrieben. Falls du die 
Datei "meier.gwf" modifzierst, so setze nun die Variable
"friend_passwd".

<hr>
<h3><font color=#2f6400><a name="DBA">Zugriff auf eine
Datenbank global sch&uuml;tzen</a></font></h3>

Wenn du m&ouml;chtest, da&szlig; deine Datenbank nur f&uuml;r einige Personen sichtbar
ist, kannst du eine globale Zugriffsbeschr&auml;nkung einrichten.

<p>

Warnung: Dies funktioniert nur im Servermodus. Wenn du im CGI-Modus
arbeitest, mu&szlig;t Du die Methoden nutzen, die in dem verwendeten
HTTP-Server zur Verf&uuml;gung gestellt werden (dies wird hier nicht
beschrieben, da das Vorgehen abh&auml;ngig vom verwendeten Server ist).

<p>

Zun&auml;chst mu&szlig;t du eine Berechtigungsdatei erstellen. Diese Datei
enth&auml;lt Zeilen der Form "benutzer:kennwort". Zum Beispiel:

<p>

<pre>
     hugo:ex23zuu
     martin:2wxuz4
</pre>

<p>

Um diese Berechtigungsdatei zu installieren, gehe wie folgt vor:

<p>

<ul>

<li>Kopiere die Datei in das Datenbankverzeichnis. In der
Standardinstallation ist dies das Verzeichnis "gw". Dann bearbeite die
Datei "meier.gwf" (wenn dein Datenbankname "meier" ist; falls diese
Datei nicht existiert, erstelle sie als Kopie der mitgelieferten
Datei "a.gwf").
F&uuml;ge den Namen deiner Berechtigungsdatei als Wert der Variablen
"auth_file" ein. Beispiel (falls du deine Berechtigungsdatei "meier.auth"
genannt hast):

<pre>
     auth_file=meier.auth
</pre>

<li>Wenn deine Datenbank in einen Webserver eingebunden ist,
frage den Serveradministrator und sende ihm deine
Berechtigungsdatei.

</ul>

<p>

Beim Zugriff auf diese Datenbank &ouml;ffnet dein Webbrowser ein
Fenster, in dem du einen g&uuml;ltigen Benutzernamen und das
zugeh&ouml;rige Kennwort eingeben mu&szlig;t.

<p>

In dem obigen Beispiel mu&szlig;t Du also
"meier" in dem Feld "Benutzerkennung" und
"ex23zuu" im "Kennwort"-Feld eingeben oder aber "martin" 
in dem Feld "Benutzerkennung" und
"2wxuz4" im "Kennwort"-Feld.

<p>

Wenn dein Eintrag nicht g&uuml;ltig ist, erh&auml;ltst du keinerlei Zugriff
auf die Datenbank.

<hr>
<h3><font color=#2f6400><a name="GWA">Zugriff auf den
gwd-Dienst global sch&uuml;tzen</a></font></h3>

Wenn du m&ouml;chtest, da&szlig; der gwd-Dienst nur von einigen Personen nutzbar
ist, kannst du eine globale Zugriffsbeschr&auml;nkung f&uuml;r den gwd-Dienst
installieren. Diese gilt dann f&uuml;r alle enthaltenen
Datenbanken.

<p>

In diesem Fall sind dann alle Datenbanken nur &uuml;ber die
Zugriffsbeschr&auml;nkung erreichbar. Falls jedoch auf einigen der
Datenbanken spezifische globale Zugriffsbeschr&auml;nkungen installiert
sind (siehe vorheriger Abschnitt), so gelten statt der allgemeinen die
spezifischen Zugriffsbeschr&auml;nkungen.

<p>

Warnung: Wie auch im vorherigen Abschitt, so funktioniert auch
dieses nur im Servermodus, nicht im CGI-Modus.

<p>Du mu&szlig;t wiederum eine Berechtigungsdatei erzeugen. Dies kann nur
durch den Webserver-Administrator erfolgen: wenn deine Datenbank anders
untergebracht ist, betrifft dich das nicht.

<p>

Die globale Berechtigung wird installiert &uuml;ber die Parameter des
"gwd"-Kommandos. Die Option "-auth" mu&szlig; gefolgt werden vom
Namen der Berechtigungsdatei.

<hr>
<h3><font color=#2f6400><a name="Rob">Roboter</a></font></h3>

Gelegentlich kommt es vor, da&szlig; jemand einen "Roboter" auf deine
Website schickt. Diese Roboter sind Programme, die deine Website
methodisch durchsuchen, z.B. indem sie auf einer spezifischen Seite
anfangen und dann alles "anklicken" was irgendwie anklickbar aussieht
und mit den resultierenden Seiten fortfahren.

<p>

Die Anwendung eines Roboters auf eine <font
color=#2f6400><b>GeneWeb</b></font>-Seite ist in der Regel eine
schlechte Idee, da hier die Anzahl der Seiten nahezu unendlich sein
kann. Falls zum Beispiel der Roboter von
einer Personenseite aus beginnt,
auf "Verwandtschaft ermitteln" klickt,
dann auf die Ehefrau, berechnet er alle Verwandtschaftsbeziehungen zwischen
der Person und seiner Gattin, dann kann er auf die Details all dieser Links
klicken, und auf alle Personen dazwischen usw.
<p>

Oft ist der Gedanke von Leuten, die einen Roboter starten derjenige,
da&szlig; sie sagen, statt eine Stunde auf einer interessanten Website
herumzuklicken, lade ich lieber alle Seiten und lese sie in Ruhe zu
Hause, w&auml;hrend meine Telefonleitung frei bleibt.

<p>

Da <font color=#2f6400><b>GeneWeb</b></font> aber ein
Labyrinth ohne Ausgang ist, f&uuml;hrt dies nur zu einem Ergebnis:
Es &uuml;berl&auml;dt die Platte der betreffenden Person mit HTML-Seiten.

<p>

Aus der Sicht des Betreibers eines Webservers ist es normalerweise
nicht w&uuml;nschenswert, so viele Anfragen so schnell hintereinander zu
erhalten, z.B. mehr als zehn pro Sekunde, denn:

<p>

<ul>

<li>das bremst den Computer,
<li>das bremst die anderen Nutzer, die den Webserver normal benutzen,
<li> es verf&auml;lscht die Statistik der Webzugriffe,
<li> es erzeugt das unangenehme Gef&uuml;hl, ausspioniert zu werden.

</ul>

<p>

Die Seiten, die von <font color=#2f6400><b>GeneWeb</b></font>
generiert werden, sagen (im Übertragungsprotokoll) dem Roboter
jedoch eindeutig, da&szlig; er mit dem Herunterladen dieser Seiten
nicht weitermachen soll.

<p>

"Gute" Roboter, z.B. solche, die die Webseiten oder die "ganze Welt"
indizieren, respektieren diese Protokollanweisung und bestehen nicht
darauf, weiterzumachen. Aber wenn
jemand einen Roboter startet, ist es nahezu unm&ouml;glich, ihm zu befehlen,
die Regeln zu beachten.

<p>

Als Ma&szlig;nahme gegen solche ungezogenen Roboter existiert die Option
"-robot_xcl" des gwd. Diese Option wertet die Geschwindigkeit aus, mit
der Anfragen vom selben Ort kommen.


<p>

Parameter f&uuml;r die Option sind zwei Zahlen, getrennt durch ein Komma.
Der erste Wert ist die Anzahl "x" der Zugriffe und der zweite Wert die
Zahl "y" von Sekunden. Wenn eine Adresse mehr als "x" Zugriffe
innerhalb von "y" Sekunden macht, werden alle zuk&uuml;nftigen Zugriffe von
dort mit einer entsprechenden Meldung abgewiesen.

<p>

Beispiel:

<p>

<pre>
     gwd -robot_xcl 100,150
</pre>

<p>

Wenn mehr als 100 Verbindungen in 150 Sekunden von derselben Adresse
erkannt werden, erh&auml;lt die Ursprungsadresse solange keinen Zugriff
mehr, bis der Website-Betreiber sich entscheidet, sie wieder
freizugeben.

<p>

Um den Zugriff von den gesperrten Adressen wieder freizugeben, mu&szlig; der
Website-Betreiber die Datei "robot" l&ouml;schen, die im Verzeichnis "cnt"
liegt. Dies wird auf jeden Fall im Zugriffslog des gwd protokolliert.

<hr>
<h3><font color=#2f6400><a name="Bla">Die schwarze Liste</a></font></h3>

Die schwarze Liste erlaubt es, den Zugriff auf einen 
<font color=#2f6400><b>GeneWeb</b></font>-Server f&uuml;r einzelne oder
Gruppen von Internetadressen zu sperren.

<p>
Erzeuge eine Datei namens "gwd.xcl" im gleichen Verzeichnis wie "gwd".

<p>
Editiere diese Textdatei und trage darin die auszuschlie&szlig;enden
Adressen ein (eine pro Zeile), die du abweisen willst. Du kannst auch
einen "*" eintragen, um eine Menge von Zeichen anzugeben. Beispiel:
<pre>
     grosser-b&ouml;ser@wolf.wald
     provider-*@kein.zugriff
</pre>

Das verbietet den Zugang von Adressen wie "grosser-b&ouml;ser@wolf.wald",
"provider-22@kein.zugriff", "provider-xx@kein.zugriff", und so weiter.
Wenn du lediglich eine Zeile mit "*" eintr&auml;gst, wird allen Adressen
der Zugriff verweigert (einschlie&szlig;lich deiner eigenen).


<p>
<hr>
<br>
<center>
Zur&uuml;ck zur <a href="diruse.htm">Gebrauchsanweisung</a>.
</center>

<p><hr><font size=-1><em>Copyright (c) 1998-2006 INRIA -
GeneWeb</em></font><br>

</body>