Tracking einiger Funktionen
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Tracking einiger Funktionen
Ich plane in einem Programm von mir (genauer gesagt diesem: mcpatcher.net), mit dem man die Version von Minecraft (was das genau ist, spielt keine Rolle aber ich muss das eben erwähnen) ändern kann, eine Tracking Funktion einzubauen, damit ich sehen kann wie beliebt welches Feature ist. Da jede Version auch Speicher (in Form von Ressourcen) benötigt und das Programm dadurch immer größer und größer wird, möchte ich nun bei jeder Versionsänderung wissen, welche Version genutzt wurde, anhand der Daten kann ich dann in ca. einem Monat irrelevante Versionen wieder aus dem Programm entfernen um Speicher zu sparen.
Geplant habe ich nun so etwas: Wenn der Benutzer die Version ändert rufe ich ein PHP Script mit get Parametern ab, welches die Daten dann erfasst. Dazu hatte ich gedacht übertrage ich einen Hash der MAC Adresse sowie den Versionsnamen. Anhand der Daten kann ich dann zum einen erfassen wie oft das Programm im durchschnitt genutzt wird, zum anderen welche Versionen beliebt sind, außerdem kann ich per PHP z.B. Maximal 2 MAC Adressen pro IP zulassen und dadurch eine Manipulation verhindern.
Beispiel: mcpatcher.net/tracking.php?mac=md5machash&v=version
Was sagt ihr dazu? Was sollte man evtl besser machen?
Gibt es eine Möglichkeit meinem Programm einen eigenen Useragentstring zu machen? (das könnte auch ein wenig gegen Manipulation entgegenwirken.)
Geplant habe ich nun so etwas: Wenn der Benutzer die Version ändert rufe ich ein PHP Script mit get Parametern ab, welches die Daten dann erfasst. Dazu hatte ich gedacht übertrage ich einen Hash der MAC Adresse sowie den Versionsnamen. Anhand der Daten kann ich dann zum einen erfassen wie oft das Programm im durchschnitt genutzt wird, zum anderen welche Versionen beliebt sind, außerdem kann ich per PHP z.B. Maximal 2 MAC Adressen pro IP zulassen und dadurch eine Manipulation verhindern.
Beispiel: mcpatcher.net/tracking.php?mac=md5machash&v=version
Was sagt ihr dazu? Was sollte man evtl besser machen?
Gibt es eine Möglichkeit meinem Programm einen eigenen Useragentstring zu machen? (das könnte auch ein wenig gegen Manipulation entgegenwirken.)
www.mcpatcher.net | www.hoeper.me
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Tracking einiger Funktionen
Wie groß ist der Nutzen dieses Features und welchen Aufwand kostet das? Wer hätte daran Interesse, deine Statistiken zu verfälschen?Bauer321 hat geschrieben:außerdem kann ich per PHP z.B. Maximal 2 MAC Adressen pro IP zulassen und dadurch eine Manipulation verhindern.
Den musst du in deine HTTP-Anfrage einbauen; wie das geht, kann dir am Besten der-/diejenige sagen, die deinen Netzwerkzugang (in deinem Minecraft-Patcher) programmiert hat. Ohne diese Informationen kann dir hier aber auch keiner mehr dazu sagen als auf den Wikipedia-Artikel zu HTTP-Header-Angaben zu verweisen.Bauer321 hat geschrieben:Gibt es eine Möglichkeit meinem Programm einen eigenen Useragentstring zu machen?
Nimm einen Stift und ein Blatt Papier; schreibe dir diese Informationen auf:Bauer321 hat geschrieben:Geplant habe ich nun so etwas: Wenn der Benutzer die Version ändert rufe ich ein PHP Script mit get Parametern ab, welches die Daten dann erfasst. Dazu hatte ich gedacht übertrage ich einen Hash der MAC Adresse sowie den Versionsnamen. Anhand der Daten kann ich dann zum einen erfassen wie oft das Programm im durchschnitt genutzt wird, zum anderen welche Versionen beliebt sind
- Hast du deine Benutzer über die Datensammlung informiert?
- Warum musst du einen Nutzer identifizieren?
- Was willst du erfassen?
- Welche Daten hast du?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Tracking einiger Funktionen
das mit den MAC Hashes soll sein, um allgemein eine Statistik zu bekommen. Letztendlich kann (und will) ich ja gar nicht sagen du hast das und das und das gemacht. Sondern ich möchte eher Sachen wie im schnitt hat jeder Nutzer 5 Mal die Version geändert (z.b.).
Das mit dem verfälschen passiert ganz schnell.
Wie ist das gemeint?
Also zum Ziel nochmal, ich möchte am ende ermitteln können wie viel das Programm genutzt wird und welche Versionen beliebt sowie unbeliebt sind.
Die Statistik ist eher für mich gedacht, während die Beliebtheit der einzelnen Versionen dazu genutzt werden sollen, die am wenigsten benötigten Versionen zu entfernen und damit den Download zu verkleinern.
Das entlastet zu den Schlagzeiten den Server und verringert die Download Zeit.
Der Aufwand ist gering, das sind vielleicht 20 Zeilen unterschied und 120 Zeilen PHP insgesamt.Wie groß ist der Nutzen dieses Features und welchen Aufwand kostet das? Wer hätte daran Interesse, deine Statistiken zu verfälschen?
Das mit dem verfälschen passiert ganz schnell.
Code: Alles auswählen
Welche Daten hast du?
Also zum Ziel nochmal, ich möchte am ende ermitteln können wie viel das Programm genutzt wird und welche Versionen beliebt sowie unbeliebt sind.
Die Statistik ist eher für mich gedacht, während die Beliebtheit der einzelnen Versionen dazu genutzt werden sollen, die am wenigsten benötigten Versionen zu entfernen und damit den Download zu verkleinern.
Das entlastet zu den Schlagzeiten den Server und verringert die Download Zeit.
www.mcpatcher.net | www.hoeper.me
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Tracking einiger Funktionen
Kannst du mir den Punkt bitte genauer erläutern? Viele private Internetnutzer verwenden Dank NAT mehrere Computer mit unterschiedlichen MAC- aber identischen IP-Adressen. Hier schließt du dann mehrere Individuen eines Haushalts aus. Außerdem lässt sich von einer MAC-Adresse nicht auf einen Nutzer schließen, da diese voneinander unabhängig sind.Bauer321 hat geschrieben:Das mit dem verfälschen passiert ganz schnell.
So, wie es da steht: Welche Daten hast du? Daten sind atomare Informationseinheiten -- ganz einfach soweit. Beispielsweise kann das sein:Bauer321 hat geschrieben:Wie ist das gemeint?Code: Alles auswählen
Welche Daten hast du?
- Benutzeridentifkation (MAC-Hash)
- Zeitstempel des Programmstarts
- Downloads
- Versionen der Downloads
Damit du zufriedenstellende Statistiken erhältst, musst du vorher wissen, wie sie berechnet werden und was sie aussagen.Bauer321 hat geschrieben:Also zum Ziel nochmal, ich möchte am ende ermitteln können wie viel das Programm genutzt wird und welche Versionen beliebt sowie unbeliebt sind.
- Programm genutzt = Starts absolut/zeitbezogen (Woche/Monat)
- Wann ist eine Version beliebt, wann unbeliebt? Welche Fristen sind hier zu beachten?
- Hat die Dateigröße/Traffic Einfluss auf das Abschalten (bspw. 5x 5MB oder 50x 1MB verursachen den gleichen Datenumsatz)
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Tracking einiger Funktionen
geplant ist halt aufzuzeichnen, wie oft was an welchem tag gemacht wurde, dann kann man daraus die verschiedensten Sachen ableiten.
Zur MAC Adresse: Es ist gar nicht geplant das man jetzt wirklich jeden Nutzer eineindeutig erkennt sondern lediglich das man dies mit einer relativ höhen Wahrscheinlichkeit sagen kann.
Naja ich werde das jetzt einfach mal so umsetzen. Und natürlich versuchen die Daten möglichst sicher abzuspeichern. Evtl wäre auch eine tägliche Anonymisierung (durch Zusammenfassung der Daten) eine Möglichkeit das ganze so Verbraucher freundlich wie möglich zu gestalten.
Zur MAC Adresse: Es ist gar nicht geplant das man jetzt wirklich jeden Nutzer eineindeutig erkennt sondern lediglich das man dies mit einer relativ höhen Wahrscheinlichkeit sagen kann.
Naja ich werde das jetzt einfach mal so umsetzen. Und natürlich versuchen die Daten möglichst sicher abzuspeichern. Evtl wäre auch eine tägliche Anonymisierung (durch Zusammenfassung der Daten) eine Möglichkeit das ganze so Verbraucher freundlich wie möglich zu gestalten.
www.mcpatcher.net | www.hoeper.me
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Tracking einiger Funktionen
Verbraucherfreundlich ist, wenn du so wenig Daten wie möglich sammelst und wenn möglich auch keine personenbezogenen Daten; Die MAC-Adresse ist ganz klar personenbezogen, ein Hash davon nur eingeschränkt (du kannst vom Benutzer auf die Daten schließen, aber nicht umgekehrt). Eine Alternative wäre eine UUID, die beim ersten Programmstart erzeugt und in einer Konfigurationsdatei abgelegt wird; Nach Löschen der Konfiguration ist auch die Zuordnung zwischen Daten und Benutzern nicht mehr möglich. Möglicherweise hast du auch noch einen Speichervorteil gegenüber einem Hash (eine UUID ist 16 Byte = 128 Bit groß).Bauer321 hat geschrieben:Evtl wäre auch eine tägliche Anonymisierung (durch Zusammenfassung der Daten) eine Möglichkeit das ganze so Verbraucher freundlich wie möglich zu gestalten.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Tracking einiger Funktionen
Und eine UUI generiere ich wie? (also die Idee finde ich gut und sehe da auch keinen Nachteil im Gegenzug zur MAC Adresse.
www.mcpatcher.net | www.hoeper.me
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Tracking einiger Funktionen
Mit der Funktion CreateGUID() aus der Unit SysUtils.Bauer321 hat geschrieben:Und eine UUI generiere ich wie?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Tracking einiger Funktionen
ok danke, das hört sich nach einer sehr guten Lösung an.
www.mcpatcher.net | www.hoeper.me