de.yourecom.multihunter
-
Marcel Beckers -
YoureCom/de.yourecom.multihunter -
Privat -
31. Oktober 2021 um 13:06
-
Kontenpaar-Ausnahme nur, wenn jeder getroffene Nutzer ein freigegebener Partner ist (Review B) Ein Treffer auf den Partner (etwa ein zufällig gleicher Canvas-Fingerabdruck) verdeckte sonst einen echten Zweitaccount derselben Log-Zeile; das galt vorher schon für Registrierung, Cookie und IP. Tests für gemischte Treffer. Version 6.2.9 Beta 2. 6.2
Marcel Beckers23. Oktober 2026 um 21:45 -7 Löschungen +23 Hinzufügungen 30 Gesamt 3 Dateien -
Freigegebene Kontenpaare auch bei Canvas-, localStorage- und IndexedDB-Treffern nicht melden Die Ausnahme für Kontenpaare prüfte nur Registrierung, Cookie und IP; ein freigegebenes Paar mit gleichem Canvas-Fingerabdruck (oder localStorage/IndexedDB) wurde trotzdem gemeldet. Die Prüfung liegt jetzt in MultiHunter::isWhitelistedPair() und zählt jede Prüfung; Unit-Test dazu. Version 6.2.9 Beta 1. 6.2
Marcel Beckers23. Oktober 2026 um 21:41 -17 Löschungen +112 Hinzufügungen 129 Gesamt 5 Dateien -
Release 6.2.8 6.2
Marcel Beckers23. Oktober 2026 um 15:41 -1 Löschungen +1 Hinzufügungen 2 Gesamt 1 Dateien -
Sitzung: Test baut den Whitelist-Cache nach dem Rollback neu (Review B) 6.2
Marcel Beckers23. Oktober 2026 um 15:27 +3 Hinzufügungen 3 Gesamt 1 Dateien -
Sitzung: Review-Befunde vor Release 6.2.8 (Sprachkategorie bei Neuinstallation, Gruppe nach Genehmigung, Gruppenrecht beim Update) - Kategorie wcf.multi.browserLanguage wieder installiert (mit Eintrag, die XSD verbietet leere Kategorien); Cache-Builder legt sie an, falls sie fehlt - Genehmigter Antrag nimmt beide Benutzer aus der Doppelaccount-Gruppe - getNotifications nicht mehr im Delete von userGroupOption.xml (Update löschte die Gruppenwerte) - Tests: PackageXmlTest, PetitionApprovalTest (eigener Prozess, Gruppe als Konstante); 6.2.8 Beta 4 6.2
Marcel Beckers23. Oktober 2026 um 14:23 -13 Löschungen +238 Hinzufügungen 251 Gesamt 10 Dateien -
Standard: Kommentare bereinigt (lange Kommentare auf einen Satz, Inline-, Template- und lose Kommentare entfernt, @inheritDoc), Kommentar-Prüfung aktualisiert, geänderte Dateien auf LF Entfernte Kommentare (Wozu, zum Nachlesen): - eventListener.xml: UserAction UserExportGdprAction UserMergeForm - files/acp/install_de.yourecom.multihunter_2.0.0_logUnknownUpdate.php: update new data for userAgents; get all logs; update log entry - files/acp/install_de.yourecom.multihunter_2.0.0_userString.php: create a random string for every user during the installation. - files/lib/acp/action/MultiHunterAddWhitelistIPAction.class.php: ip adress already insert; create whitelist entry - files/lib/acp/action/MultiHunterAddWhitelistProviderAction.class.php: user already insert; create whitelist entry - files/lib/acp/action/MultiHunterGetAllTrashmailsAction.class.php: fetch files; add trashmails; get trashmails; Delete; Update; Insert; forward to next step; All files were processed - files/lib/acp/form/MultiHunterSearchForm.class.php: user; network; fingerprints; system; urls; language; screen; flags; meta; store search result - files/lib/acp/page/MultiHunterDetailPage.class.php: update trashmail; get userOptions of the current user; update userOption - files/lib/acp/page/MultiHunterListPage.class.php: Can be 'all' or an array of column names. get logs; call countItems event; get user search from database - files/lib/acp/page/MultiHunterTrashmailListPage.class.php: dont select deleted trashmails - files/lib/bootstrap/de.yourecom.multihunter2.php: Registers the RPC API endpoints of the Multihunter with WCF's ApiAction dispatcher. - files/lib/data/multiHunter/MultiHunter.class.php: select log; enforce data type 'array'; Returns the first check chosen as blocking reason (comma separated in `$checks`) that hit for this log, in the order register, cookie, canvas, ip, trashmail, or null if none of them hit. A check hits with a value other than null and 0. Mobile & Special Apps; Mainstream Desktop; Asian Browsers; Alternative Browsers; Safari and Apple Devices; Special Cases; Windows; Linux / Unix / BSD / Other Open Systems; Apple; Mobile Systems; Other Mobile & Embedded; Java-Based Mobile; Gaming Devices; Hobby Systems; Feed Readers and Special Apps - files/lib/data/multiHunter/MultiHunterAction.class.php: validate log objects; check if a correct logID is given; load and clear session; abort if log is invalid; discard anything that isn't a recognized column before writing to the database; Only allow specific types to prevent SQL injection; Prepare conditions; Build and prepare query - files/lib/data/multiHunter/MultiHunterEditor.class.php: Do not ban administrators; Only ban users who are not already banned; Clear whitelist matching cache; Update user options - files/lib/data/multiHunter/trashmail/MultiHunterTrashmailAction.class.php: create competition; read objects - files/lib/data/multiHunter/trashmail/MultiHunterTrashmailEditor.class.php: save object; return new object - files/lib/data/multiHunter/whiteListGlobal/MultiHunterWhiteListGlobal.class.php: select log; enforce data type 'array' - files/lib/data/multiHunter/whiteListGlobal/MultiHunterWhiteListGlobalAction.class.php: validate log objects; check if a correct logID is given - files/lib/data/multiHunter/whiteListGlobal/MultiHunterWhiteListGlobalEditor.class.php: validate log objects; reset cache; update userOption - files/lib/data/multiHunter/whiteListGlobal/MultiHunterWhiteListGlobalList.class.php: Creates a new ViewableCommentList object. - files/lib/data/multiHunter/whiteListIP/MultiHunterWhiteListIPAction.class.php: validate log objects; check if a correct logID is given - files/lib/data/multiHunter/whiteListMatching/MultiHunterWhiteListMatching.class.php: Loads the whitelist matching entry including the usernames of both related users.; select log; enforce data type 'array' - files/lib/data/multiHunter/whiteListMatching/MultiHunterWhiteListMatchingAction.class.php: remove ban entry only for active entries, not for pending petitions; validate log objects; check if a correct logID is given; read objects - files/lib/data/multiHunter/whiteListProvider/MultiHunterWhiteListProviderAction.class.php: validate log objects; check if a correct logID is given - files/lib/data/multiHunter/whiteListProvider/MultiHunterWhiteListProviderEditor.class.php: validate log objects; reset cache - files/lib/data/multiHunter/whiteListSuspend/MultiHunterWhiteListSuspend.class.php: select log; enforce data type 'array' - files/lib/data/multiHunter/whiteListSuspend/MultiHunterWhiteListSuspendAction.class.php: validate log objects; check if a correct logID is given - files/lib/data/multiHunter/whiteListSuspend/MultiHunterWhiteListSuspendEditor.class.php: validate log objects; reset cache - files/lib/data/multiHunter/whiteListSuspend/MultiHunterWhiteListSuspendList.class.php: Creates a new ViewableCommentList object. - files/lib/form/MultihunterPetitionAddForm.class.php: A petition must be reviewed by a team member before it takes effect; Self-Insert verhindern - files/lib/system/box/MultihunterLastLogsBoxController.class.php: check permission and if the plugin is activated; get userID; get Last logs - files/lib/system/cronjob/MultiHunterAutomaticBanCronjob.class.php: if modul is in installation or deactivated; get unknown informations; Delete all obsollette block entries - files/lib/system/cronjob/MultiHunterCleanUpCronjob.class.php: check if the plugin is enable - files/lib/system/cronjob/MultiHunterGetNewTrashmails.class.php: check if the plugin is enable; Load and process YoureCom JSON file; get trashmails; update own trashmail; insert trashmail; delete trashmail - files/lib/system/cronjob/MultiHunterSendUnknownCronjob.class.php: check if the plugin and the option to send the unknown data is enable; entries of other types (formerly mailed user agents) are no longer collected; get unknown informations; send trashmails; truncate table; send languageCodes; JSON in the body: the former serialize() in the URL broke on codes with "&", ";" or "#"; truncate table - files/lib/system/event/listener/MultiHunterJsInfoListener.class.php: if modul is in installation; if modul is deactivate or user is a guest and check suspend whitelist; get logID; is it a multi?; Add curent userID; get userOptions of the current user; save a new possible multi; update userOption; get cache to check global whitelist; get cache to check matching whitelist; check notification option; automatic ban; optional user group assignment (does nothing without a configured group), independent of the blocking mode; send notification - files/lib/system/event/listener/MultiHunterListener.class.php: if modul is in installation or deactivated; check if user is not logged in; check if login has saved; check suspend whitelist; create; send notification if the browser cookies was manipulated; trashmail info; if extension not correct; Try to fetch the current request's host and URI once; Validate URL scheme (use https if available); Remove session IDs or query strings for cleaner URL; In case of an invalid type; Fallback if no valid URL found; Normalisierung; check IP whitelist; check IPAdress for double account; check IP whitelist; coookie check enable; exist cookie; cokie with annother userString; users created by script, ACP or import have no userString; the registration match is based on the IP address, too, so a whitelisted provider cancels it (the session keeps it); update last log time - files/lib/system/event/listener/MultiHunterRegisterListener.class.php: if modul is in installation or deactivated; if modul is deactivate; do register test - files/lib/system/event/listener/MultihunterUserActionListener.class.php: if modul is in installation or deactivated - objectType.xml: Clipboard Notifications box controllers moderated content - templates/moderationLog.tpl: registerCheck ipCheck Local Storage Indexed DB canvas trashmailCheck Verbleibende commentsKnown-Einträge: Inline-@var, die PHPStan braucht (Parameter von Condition Buildern, Cache-Werte, Formulardaten, Zeilen von Abfragen); ein Entfernen wurde getestet und von PHPStan abgelehnt. Template email_notification_multihunterWhiteListAdd: das leere {* *} hält das Leerzeichen am Zeilenende. 6.2
Marcel Beckers23. Oktober 2026 um 07:44 -296 Löschungen +57 Hinzufügungen 353 Gesamt 58 Dateien -
Standard: Regeln für SQL und Kommentare übernommen (mit xml-comment), bekannte Lücken eingetragen Verwaltete Dateien aus _dev/standard (apply.php). Einträge in tests/lint/config.php sind Funde der neuen Regeln im bestehenden Code (comments-known.php, architecture-known.php); sie werden abgebaut, nicht ergänzt. Ein Minus heißt: Der Fund gilt nicht mehr (Regel geändert oder Datei bereinigt). Netto je Regel (Dateien): - commentsKnown: comment-annotation-gap +12, comment-too-long -4, function-needs-comment-or-override -4, magic-method-inheritdoc +4, stray-comment -7, xml-comment +2 - architectureKnown: sql-variable +7 6.2
Marcel Beckers22. Oktober 2026 um 17:41 -28 Löschungen +54 Hinzufügungen 82 Gesamt 2 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 10:30 -3 Löschungen +6 Hinzufügungen 9 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 09:44 -1 Löschungen +32 Hinzufügungen 33 Gesamt 2 Dateien -
Merge branch 'agent/2026-10-22-sql-concat' into 6.2 6.2
Marcel Beckers22. Oktober 2026 um 09:13 +69 Hinzufügungen 69 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 08:33 -5 Löschungen +31 Hinzufügungen 36 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 08:28 -8 Löschungen +10 Hinzufügungen 18 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 07:39 -6 Löschungen +6 Hinzufügungen 12 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 07:33 +104 Hinzufügungen 104 Gesamt 3 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 07:20 -8 Löschungen +6 Hinzufügungen 14 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 07:10 -5 Löschungen +12 Hinzufügungen 17 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 06:57 +22 Hinzufügungen 22 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 06:51 -4 Löschungen +22 Hinzufügungen 26 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 06:46 -1 Löschungen +1 Hinzufügungen 2 Gesamt 1 Dateien -
YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard) 6.2
Marcel Beckers22. Oktober 2026 um 06:41 -8 Löschungen +4 Hinzufügungen 12 Gesamt 1 Dateien
Bereit, deine Community smarter zu machen?
Ob fertiges Produkt oder individuelle Softwarelösung – überzeuge dich selbst.