Bibel TV

FAQ zur Datenerhebung der Statistik

Wie werden die Daten erhoben?

Rufen Sie in der BibelTV-App auf dem Smartphone oder im Webbrowser über die Adresse www.bibeltv.de/bibelthek die Bibelthek auf, wird eine Anfrage an den Webserver der Bibelthek gestellt. Dies geschieht über das sogenannte HTTP-Protokoll. Dabei werden Daten Ihres verwendeten Gerätes, ggf. des Browsers, die Zieladresse der Anfrage (z.B. ersichtlich in der Adressleiste des Browsers), die IP-Adresse des aufrufenden Gerätes und ggf. eingegeben Formulardaten übermittelt. Formulardaten können z.B. eine Bibelstelle oder ein Suchwort sein. Der Webserver antwortet entsprechend mit einem Ergebnis, das z.B. im Browser die angefragte Bibelstelle anzeigt. Mit jedem Klick auf einen Link oder bei jedem Absenden des Formulars zum Anfragen einer neuen Bibelstelle oder eines Suchwortes wird in der Regel eine neue Anfrage an den Webserver gestellt.

Welche Daten werden gespeichert?

Folgende Daten werden nach Übermittlung einer HTTP-Anfrage gespeichert:

  • Die Zieladresse (URL) der Anfrage, ggf. inklusive der eingegebenen Formulardaten (Suchleiste der Bibelthek)
  • Nach Auswertung der Zieladresse ggf. die angefragte Bibelstelle inklusive der gewählten Übersetzungen
  • Datum und Uhrzeit der Anfrage
  • Sitzungs-ID der Anfrage. Dies ist eine zufällig generierte Zeichenfolge, die mit Beginn der ersten Anfrage generiert wird und von Anfrage zu Anfrage des Nutzers weitergereicht wird. Dadurch wird erkannt, ob mehrere Anfragen hintereinander vom gleichen Nutzer stammen. Eine Sitzung wird automatisch 30 Minuten nach der letzten Anfrage des Nutzers beendet oder wenn beispielsweise der Browser geschlossen wird.
  • Herkunft der Anfrage, ob sie von der der Webseite, der iOS-App oder Android-App stammt
  • Daten des verwendeten Gerätes und ggf. des Browsers (User-Agent des HTTP-Headers): Dies umfasst u.a. den Typ des verwendeten Browsers (Browser-Engine), das Betriebssystem inkl. Versionsnummer (z.B. Linux / Android 13), das verwendete Geräte (z.B. ONEPLUS A3003) sowie weitere Versionsnummern des Browsers
  • Ländercode und Kontinent-Code der Herkunft des Aufrufs, ermittelt aus der IP-Adresse des Aufrufs

Werden persönliche Daten in den Statistiken gespeichert?

Nein. Persönliche Daten werden als solche bezeichnet, wenn sie Rückschlüsse auf die Person zulassen, zu der sie gehören. Hierzu würde lediglich die IP-Adresse des aufrufenden Gerätes gehören, diese wird aber nicht gespeichert. Sie wird lediglich verwendet, um Herkunftsland und Kontinent zu ermitteln. Die Daten des verwendeten Gerätes und des Browsers sind lediglich allgemeiner Natur und lassen keine Rückschlüsse auf die Person zu.

Wird wirklich jeder Aufruf in der Statistik gespeichert?

Nein, da bestimmte Aufrufe die Statistik verfälschen würden. Folgende Aufrufe werden nicht gespeichert bzw. aus der Speicherung entfernt:

  • Aufrufe von Suchmaschinen wie Google oder Bing. Diese werden über den Eintrag im Feld User-Agent des HTTP-Headers erkannt. Zur Erkennung wird die PHP-Bibliothek CrawlerDetect verwendet (https://github.com/JayBizzle/Crawler-Detect).
  • Aufrufe von Ping-Diensten zur Überprüfung der Erreichbarkeit des Servers. Diese werden zum Einen durch eine intern vergebene Sitzungs-ID erkannt und herausgefiltert. Zum Anderen werden sie ebenfalls über den Eintrag im Feld User-Agent des HTTP-Headers erkannt und mittels der PHP-Bibliothek CrawlerDetect herausgefiltert.
  • Massenhaft gleiche Aufrufe: Wird die gleiche URL bzw. die gleiche Bibelstelle innerhalb kurzer Zeit massenhaft aufgerufen, ist anzunehmen, dass es sich um Fake- bzw. Testaufrufe des selben Nutzers oder Bots handelt. In einem Graphen stechen diese Aufrufe als ungewöhnliche Spitzen heraus, da diese Bibelstellen zu anderen Zeiten weniger häufig aufgerufen werden.
    Derzeit ist festgelegt, dass 1000 oder mehr Aufrufe der gleichen URL (bzw. der gleichen Bibelstelle) am selben Tag von der gleichen Plattform (Webseite, iOS-App oder Android-App; gespeichert im Feld origin) als ungewöhnliche Spitze anzusehen sind, die entfernt werden. Der entsprechende SQL-Aufruf zur Filterung der Spitzen lautet wie folgt:
    DELETE `logs` FROM `logs`, (SELECT * FROM (SELECT *, COUNT(*) as 'cnt' FROM `logs` WHERE `type` = 'chapter' GROUP BY `request_url`, `request_date`, `origin`) sub1 WHERE `cnt` >= 1000) sub2 WHERE `logs`.`request_url` = `sub2`.`request_url` AND `logs`.`request_date` = `sub2`.`request_date` AND `logs`.`origin` = `sub2`.`origin`;