G
Gelöschtes Mitglied 9001
Gast
Hallo,
in meinem Programm gibt es eine Eingabemaske mit drei Feldern (Komponist und zwei für den Namen eines Musikstückes). Der Anwender soll damit musikstückbezogene Daten beschriften können. Damit das schneller von der Hand geht, soll bereits nach der Eingabe weniger Zeichen das Programm Vorschläge einblenden, die sich durch Anklicken übernehmen lassen.
Da ich nun selbst nicht das gesamte Weltrepertoire als Resource jeder Programmdatei mitgeben kann (und das Repertoire stetig wächst), habe ich eine Online-Datenbank eingerichtet, auf die mein Programm via REST-Api zugreift und sich die Vorschläge von dort holt. Das gibt mir die Möglichkeit, die Datenbank kontinuierlich weiter zu füllen und die Benutzer selbst sollen diese Datenbank auch pflegen können: Getätigte Eingaben der Maske werden in diese Datenbank übernommen und dann ggf. anderen Nutzern als Vorschlag angezeigt.
Selbstverständlich gibt es ein Häkchen direkt über der Maske, mit der sich die Funktion deaktivieren läßt. Der Benutzer wird auch darauf hingewiesen, daß er bei aktivierter Onlinefunktion keine privaten Daten eingeben sollte.
Über eine Webseite haben die Benutzer die Möglichkeit, den Datenbestand zu pflegen und fehlerhafte Daten zu korrigieren. Also ein bißchen wie Wikipedia: basiert auf dem Vertrauen, daß die Benutzer nichts Dummes damit anstellen.
Obgleich es sich bei meinem Programm um ein absolutes Nischenprodukt handelt, dessen Kompromittierung für Hacker und Streichespieler relativ uninteressant sein dürfte, weil die Zahl der Anwender insgesamt sehr klein ist (derzeit geschätzt < 100), muß man sich dennoch den Fragen stellen, wie man damit umgeht, wenn
-als Eingabedaten belästigende, verleumdende, rassistische Vokabeln eingegeben (und damit anderen Benutzern sichtbar gemacht) werden
-die Datenbank mit sinnlosen Daten zugespamt wird
-massenhafte Anfragen an die Datenbank gerichtet werden und der Server dadurch in die Knie gezwungen wird
etc.
Es ist ein leichtes für mich, den Onlinedienst sofort zu deaktivieren, die Programminstanzen können dann eben keine Vorschläge mehr anbieten. Besser wäre, dem einzelnen Übeltäter Einhalt zu gebieten oder solche Dinge zumindest zu erschweren.
Über Filter könnten Daten aussortiert werden, pro Client könnte die Zahl der Zugriffe pro Zeiteinheit begrenzt werden. Ich habe auch überlegt, daß jede Programminstanz sich eine ID holen muß, die dann bei jedem Datenbankzugriff mitgeschickt werden muß. Zugriffe einer bestimmten ID könnten dann geblockt werden. Freilich ist diese Vorgehensweise nicht 100% sicher und kann geknackt werden. Benutzer-Accounts kommen nicht in Frage, dafür sind Benutzer zu bequem.
Mich interessieren hierzu eure Gedanken und Vorschläge, auch ganz allgemeiner Art.
Danke!
in meinem Programm gibt es eine Eingabemaske mit drei Feldern (Komponist und zwei für den Namen eines Musikstückes). Der Anwender soll damit musikstückbezogene Daten beschriften können. Damit das schneller von der Hand geht, soll bereits nach der Eingabe weniger Zeichen das Programm Vorschläge einblenden, die sich durch Anklicken übernehmen lassen.
Da ich nun selbst nicht das gesamte Weltrepertoire als Resource jeder Programmdatei mitgeben kann (und das Repertoire stetig wächst), habe ich eine Online-Datenbank eingerichtet, auf die mein Programm via REST-Api zugreift und sich die Vorschläge von dort holt. Das gibt mir die Möglichkeit, die Datenbank kontinuierlich weiter zu füllen und die Benutzer selbst sollen diese Datenbank auch pflegen können: Getätigte Eingaben der Maske werden in diese Datenbank übernommen und dann ggf. anderen Nutzern als Vorschlag angezeigt.
Selbstverständlich gibt es ein Häkchen direkt über der Maske, mit der sich die Funktion deaktivieren läßt. Der Benutzer wird auch darauf hingewiesen, daß er bei aktivierter Onlinefunktion keine privaten Daten eingeben sollte.
Über eine Webseite haben die Benutzer die Möglichkeit, den Datenbestand zu pflegen und fehlerhafte Daten zu korrigieren. Also ein bißchen wie Wikipedia: basiert auf dem Vertrauen, daß die Benutzer nichts Dummes damit anstellen.
Obgleich es sich bei meinem Programm um ein absolutes Nischenprodukt handelt, dessen Kompromittierung für Hacker und Streichespieler relativ uninteressant sein dürfte, weil die Zahl der Anwender insgesamt sehr klein ist (derzeit geschätzt < 100), muß man sich dennoch den Fragen stellen, wie man damit umgeht, wenn
-als Eingabedaten belästigende, verleumdende, rassistische Vokabeln eingegeben (und damit anderen Benutzern sichtbar gemacht) werden
-die Datenbank mit sinnlosen Daten zugespamt wird
-massenhafte Anfragen an die Datenbank gerichtet werden und der Server dadurch in die Knie gezwungen wird
etc.
Es ist ein leichtes für mich, den Onlinedienst sofort zu deaktivieren, die Programminstanzen können dann eben keine Vorschläge mehr anbieten. Besser wäre, dem einzelnen Übeltäter Einhalt zu gebieten oder solche Dinge zumindest zu erschweren.
Über Filter könnten Daten aussortiert werden, pro Client könnte die Zahl der Zugriffe pro Zeiteinheit begrenzt werden. Ich habe auch überlegt, daß jede Programminstanz sich eine ID holen muß, die dann bei jedem Datenbankzugriff mitgeschickt werden muß. Zugriffe einer bestimmten ID könnten dann geblockt werden. Freilich ist diese Vorgehensweise nicht 100% sicher und kann geknackt werden. Benutzer-Accounts kommen nicht in Frage, dafür sind Benutzer zu bequem.
Mich interessieren hierzu eure Gedanken und Vorschläge, auch ganz allgemeiner Art.
Danke!