Stefan Kalscheuer
Forum Replies Created
-
Forum: Plugins
In reply to: [Statify Filter] Admin Besuche und eigene IP wird geloggtDanke für die Rückmeldung. Ich schaue morgen mal, dass ich ein Testszenario aufbaue und einmal durch debugge. Hatte schon einen Fall, wo das JS so wegoptimiert wurde, dass gar nicht getreckt wurde, aber hier haben wir ja eher das umgekehrte Phänomen…
Gruß,
StefanForum: Plugins
In reply to: [Statify Filter] Admin Besuche und eigene IP wird geloggtIch habe es zwischenzeitlich auf einer Testsite und einer realen Site getestet. Öfentliche Subnetze (sowohl IPv4, als auch IPv6) in die Filter eingetragen, Live-Filter aktiviert und los.
Statify selbst mit aktiviertem JavaScript und WP Super Cache.
Eine Funktioniert tadellos. Entsprechend müssen wir das Problem ein wenig eingrenzen.—-
die gesamte Live-Statify Filterung scheint bei mir nicht zu funktionieren.
Kannst du einmal das Statify Filter Plugin deaktieren und testen, ob eingeloggte Benutzer weiterhin mit erfasst werden?
Und hast du irgendwelche weiteren Anpassungen, z.B. einen eigenen Filter-Hook für
statify__skip_tracking, der zufälligtruezurückgibt? (Statify Blacklist 1.3.0 hatte das Problem – ich nehme aber bisher an, dass eine aktuelle 1.6 zum Einsatz kommt)Und (verzeihe mir die möglicher Weise blöde Frage, aber schonmal übersieht man die einfachsten Dinge), die Häkchen bei “Live-Filter aktivieren” hast du schon gesetzt, oder?
Hat dann vermutlich etwas mit meinen Cahing/Minifying Einstellungen zu tun?
Unwahrscheinlich.
Minifizierung mit absoluter Sicherheit nicht, da das ja nur Frontend-Ressourcen betrifft (und das JavaScript zum Tracken wunderbar funktioniert – die Filter werden aber auf dem Server ausgewertet). Caching nicht unmöglich, aber sehr unwahrscheinlich.
- This reply was modified 5 years, 3 months ago by Stefan Kalscheuer.
Forum: Plugins
In reply to: [Statify Filter] Admin Besuche und eigene IP wird geloggtHi,
hast du Tracking angemeldeter Benutzer in Statify selbst aktiviert?
Ist seit 1.7 einstellbar, default: eingeloggte Nutzer ausschließen.Caching der Seite sollte hierauf keinen Einfluss haben, da der JavaScript Aufruf zum Tracking nie gecacht wird.
Warum der IP Filter nicht greift, ist eine andere Frage. Wenn du deine öffentliche v4 Adresse (v6 spricht die genannte Seite nicht) eingetragen hast und der Server diese auch sieht (direkt oder über die üblichen Proxy Header
X-Real-IPbzw.X-Forwarded-For), bliebe nur noch eine Fehlfunktion. Ich teste es gleich noch einmal selbst in der aktuellen Version.Gruß,
StefanForum: Plugins
In reply to: [Statify Filter] MAC-Adressen FilterHallo,
das ist so technisch nicht möglich.
Eine MAC-Adresse (Layer 2 des OSI Modells) wird grob gesagt zur Identifikation von Geräten innerhalb eines physischen Mediums verwendet (so weiß z.B. ein Switch, an welchen Port ein Paket geschickt werden soll). Die Webanwendung (Layer 5-7) sieht nur noch IP Adressen (Layer 3), welche netter Weise in HTTP Headern verkapselt sind. Die originale MAC Adresse des Absenders wird so weit nicht durchtransportiert. Der vorgeschaltete Webserver sieht diese schon nicht mehr. Eine Rückwärts-Auflösung wäre auch nur dann möglich, wenn sich der Client im selben lokalen Netzwerk befindet.
Dass eine MAC Adresse ein Gerät global eindeutig definiert, ist an dieser Stelle auch ein Trugschluss. Zwar gibt es Herstellerspezifische Blöcke, die theoretisch eindeutig sind, aber spätestens wenn man über virtuelle Maschinen oder Privatsphäreeinstellungen sprechen (zufällige MAC generiere, um in fremden Netzen nicht direkt identifizerbar zu sein), sind die Dinger genauso aussagekräftig wie 192.168-Adressen im Internet-Kontext.
Gruß,
StefanForum: Plugins
In reply to: [AntiVirus] PHP Notice breaks scanBoth guesses seem pretty unfair. Both points are correct and there have not been any automated tests before 1.4, but …
- there are many themes out there that actually do read options
- many options then are scalar, so silently convert to
string - it’s only a notice in PHP <= 7.4 and a warning in 8, so it does not actually break the check without
WP_DEBUGand just prints a line to the log (though the line check doesn’t do anything useful in this case and the output is likely corrupted)
In fact I could not find any theme that reads array-options downloading random themes from the repo.
Chances are high that for 95% or even more of the users, this will never be a problem.Sadly the intention behind the options check, as it is performed right now, is undocumented. It’s there since the very first SVN commit (11 years ago) without any comment. Maybe some kind of options injection, but re-evaluating some patterns on the options value does not make much sense in my eyes. Waiting for team feedback, but I personally would either drop or completely rethink this check.
Forum: Plugins
In reply to: [AntiVirus] PHP Notice breaks scanYou are absolutely right. Ran into the same issue yesterday when writing unit tests.
In fact the “broken“ logic is quite old (v1.3.10 code), wondering why it was never reported until now… Lower chance because fewer files were scanned before and likely the generous implicit string conversion in older PHP versions did the rest for most cases (value can be of an type).
No idea what the actual intention behind the iteration on the option value was, but nevertheless we will fix it.
Cheers,
StefanForum: Plugins
In reply to: [AntiVirus] Antivirus-MeldungHallo Harald,
dass die Meldung seit dem Update (vermutlich 1.4.1) aufgetreten ist, liegt daran, dass zuvor nur eine Verzeichnisebene gescannt wurde, jetzt sind es alle. Die betroffene Datei …/includes/widgets/mh-youtube.php liegt offenbar 2 Level unter Theme-Root.
Welche Aussagekraft die Meldung hat, kann ich dir nicht sagen. Zum einen fehlt im kopieren Ausschnitt der interessante Code, zum anderen kenne ich das “MH Newsdesk” Theme nicht. Im Zweifelsfall prüfe manuell, ob die Datei so original aus dem Theme stammt oder nachträglich manipuliert wurde. In erstem Fall entweder damit leben (also auf die Liste der Ausnahmen setzen) oder den Theme-Anbieter kontaktieren.
Gruß,
StefanForum: Plugins
In reply to: [AntiVirus] Virus alert since 1.4.0Update:
Version 1.4.1 has just been released. It fixes the issues described above, s.t. now all theme files are scanned and the manual scan is working again.With Divi you will likely notice quite a lot of alerts across the files, many of them in the /includes/builder/ subdirectory. Various classes do use signatures that AntiVirus detects as risky code (output buffer handling, opening files, …). You can dismiss them as before. With 1.3 they have just not been scanned, because parent themes were ignored and hierarchy was limited to 1.
There is a way to exclude the files from scanning, leveraging the theme_scandir_exclusions hook that defaults to
array( 'CVS', 'node_modules', 'vendor', 'bower_components' ). One could add'builder'to this list, that eliminates 90% of the warnings. Did not check for negative side effects though.Cheers,
StefanForum: Plugins
In reply to: [AntiVirus] Virus alert since 1.4.0since last update to version 1.4.0 I get virus alert every day. […] When checking manually everything is shown as OK.
Seems to be an issue with the manual scan. I can reproduce it by provoking a virus warning (add risky code to a theme file) which is detected correctly in the cron execution, but not in the manual scan. (https://github.com/pluginkollektiv/antivirus/issues/88)
edit: should be fixed in the upcoming release (https://github.com/pluginkollektiv/antivirus/issues/89)
– files in child theme with same file name as in parent are not scanned
– files in child theme with different names (self created files) are scannedConfirmed and – hopefully – fixed in the upcoming release (https://github.com/pluginkollektiv/antivirus/pull/86)
– files in child theme subfolders are scanned, but not all files and not all subfolders
That’s by design. The plugin collects theme files with a maximum depth of 1.
Please don’t ask me for the actual reason as I can only guess (at least since 1.3 (2015) and not documented). I’d be fine with raising the maximum depth to a more reasonable value.
Cheers,
Stefan- This reply was modified 5 years, 4 months ago by Stefan Kalscheuer.
Forum: Plugins
In reply to: [Liveticker (by stklcode)] Ticks with embedded script are not executedThanks for your input and the possible solution!
Sounds like a reasonable change, so I’ll try to integrate with an upcoming release (https://github.com/stklcode/wp-liveticker/issues/14).
Cheers,
StefanForum: Plugins
In reply to: [Statify] Fragen zur DatenbankgrößeHallo Lorenz,
eine pauschale Antwort auf die Frage gibt es nicht. Da Statify Aufrufe protokolliert, hängt die Größe direkt von der Nutzerzahl ab.
Die Größe je Datensatz beträgt 16-526 Byte (Target und Referrer URL variabel). Gerade einmal geschaut, im Schnitt 40 Byte reine Daten auf einer meiner Seiten oder total (mit Indizes, etc.) rund 500 KiB für 3000 Einträge.
Daten skalieren linear, Index nicht, aber als Schätzwert denke ich gut genug.
Die Ladezeit für Besucher wird dadurch praktisch nicht beeinflusst. Die des Dashboard Widgets schon. Ob 300MB bei Komplettanzeige (ist ja separat anpassbar da spürbar ins Gewicht fallen hängt vom Server ab.
Gruß,
StefanForum: Plugins
In reply to: [Statify Filter] WordPress 5.5.x compatibility update for “Statify Blacklist”Hi,
I hadn’t planned a dedicated update, because 1.5.1 seems to work fine with WP 5.5. Apparently I forgot about raising the compatibility tag, sorry for that.
Nevertheless, I’ve released v1.5.2 a few seconds ago with some minor internal corrections and explicit 5.5 compatibility.
The wording – starting from the plugin’s name “Statify Blacklist” – is not perfect, as the term “blacklist” is more or less replaced by more descriptive phrases in 5.5, but I’ll take care of that in near future. Functionality is given.
Cheers,
StefanForum: Plugins
In reply to: [Statify] Statify Aufrufe nach Relaunch gesunkenHi,
ich nehme an, dass JavaScript Tracking aktiviert ist.
Dann kann auf eurer Seite tatsächlich keine Spuren eines aktiven Statify Plugins erkennen. Installiert ist es wohl, die Skripte sind da, aber nicht eingebunden.
Ich habe den Verdacht, dass euer neues Theme keinen Aufruf von
wp_footer()beinhaltet, kann das sein? In dieser Phase binden wir für JS-Tracking die notwendigen Ressourcen ein.Falls ich damit richtig liege und das Einbinden keine Option ist, müsste die entsprechende Methode für Statify im Frontend (nicht Admin, AJAX, Cron, XML-RPC – um die übrigen Randfälle kümmern wir uns selbst) manuell getriggert werden. Der Originalaufruf ist der folgende:
add_action( 'wp_footer', array( 'Statify_Frontend', 'wp_footer' ) );Also entweder den Hook in eine adäquate Phase hängen oder manuell
Statify_Frontend::wp_footer()aufrufen.Gruß,
StefanForum: Plugins
In reply to: [Statify] No Action for statify_cleanupHi,
@zodiac1978 is right, it only a UI issue here, functionality is given.
Statify only registers the actual cron action during cron execution. This has been the case since at least 1.4.0 when the project was ported to GitHub, so I can only guess the reason.
When you access the WP Control interface, you’re in a backend/admin request-cycle, not in a cron-cycle, so no action is registered and WP Control can’t see it. As soon as you click “run now” or whenever the a real cron task is running, Statify registers the action method and it gets executed when necessary.
Cheers,
Stefan- This reply was modified 5 years, 8 months ago by Stefan Kalscheuer.
Forum: Plugins
In reply to: [Statify] Daten löschen vor Datum X?Hi,
zum einen könntest du den Speicher-Zeitraum in den Einstellungen (seit 1.7 unabhängig vom Anzeigezeitraum) auf eine entsprechende Anzahl Tage stellen, für den 01.08.2020 Stand heute (27.08.2020) also 27. Beim nächsten Cron Aufruf (warten oder manuell ../wp-cron.php triggern) werden ältere Daten gelöscht. Danach kannst du die Zahl wieder beliebig hoch setzen.
Alternativ kannst du auch per SQL rangehen, wenn dir das zusagt:
DELETE FROM wp_statify WHERE created < '2020-08-01'
(Präfix und Datum nach Bedarf ersetzen)Gruß,
Stefan