Forum Replies Created

Viewing 15 replies - 121 through 135 (of 157 total)
  • Plugin Support Stefan Kalscheuer

    (@stklcode)

    Hi axmann,

    Statify 1.7 will get a settings page to configure the filters without any custom code. Unfortunately current stable is still 1.6, so there is no such way.

    Second answer (by myself) in this topic contains a more sophisticated code snippet:
    https://wordpress.org/support/topic/logged-in-users-12/

    (2) should be automatically solved when tracking authenticated users if you do not add additional filters, since private posts are just posts.

    You may copy the block to the end of your wp-config.php or the functions.php of your theme (if applicable).

    Regards,
    Stefan

    Plugin Support Stefan Kalscheuer

    (@stklcode)

    You might choose among a whole bunch of statistics plugins and platforms. About all of them require either a tracking cookie or some elaborated information storage.

    As already said, Statify one of the most minimal solutions (user agent string is processed to exclude bots, but nothing is stored) with limited capabilities.
    As far as I known there is no kind of “cookie extension” in the public Plugin repository. (easy to implement, but nobody has published one so far)

    Regarding the GDPR you might even use Google Analytics for that purpose or WP Jetpack. I’m not familiar with “smaller” solutions for that purpose.

    What you have to keep in mind though:
    * Add a corresponding paragraph to your privacy statement, s.t. a user is informed about what data you store/process and why.
    * If the extension uses tracking cookies, make sure that it’s inline with your cookie policy, opt-out strategy, etc.
    * You must have some kind of business need. That’s a key part of GDPR (don’t collect data for no reason) and sounds worse than it actually is. It can be anything from “analytics for service improvement” to “know you target group’s interests”.

    Finally think about what you want/need to track and why, then choose a plugin accordingly.

    Do you know why the update 2.3 hasn’t been released yet? Sounds like a fix that can be made. 😉

    2.3 contains some optimizations with that break compatibility in some cases. The team has not yet came up with a final decision on whether to revert those changes or improve the improvements again.

    I’ll try to trigger some movements here and see if the release can be published soon. Or maybe push a 2.2.5 minor update with the small PHP 7.2 correction.

    Cheers,
    Stefan

    Hi David,

    besides this deprecation warning Cachify works fine with both 7.2 and 7.3.
    The create_function() function is still present and works as desired (will most likely in PHP 8)

    Actually this has been fixed more than a year ago in the upcoming release 2.3 …

    However the current stable release is stil 2.2.4, so you might either ignore the deprecation warning (i.e. by adding something like error_reporting(E_ALL ^ E_DEPRECATED); to your config) or stay at PHP 7.1.

    Regards,
    Stefan

    Random retries can make login attempts difficult for automatic proxy IP attackers

    Not really. At least because the result of a block is just “login failed”.
    Let’s say you’ve chosen the range 3-7 instead of fixed 5. Worst-case an attacker would waste 4 attempts – so what, the system’s not payed by the attacker anyway.

    After some analysis I noticed that many systems try a fixed number of logins. Often saw 2-3 (which is usually not blocked), but also some with 20 attempts although the login had been blocked after 5. Unsurprisingly there seems no sophisticated logic to determine the number.

    Most attacker nets are not brute-forcing anyway, more of random guessing common passwords, so it doesn’t really matter if there are 3 or 7 tries per hit.
    And if you’re facing a targeted brute-force attack via a reasonable botnet, this plugin should not be your only countermeasure and you should rather block the accounts than the originating system.

    IMO not worth playing around with randomness.
    Finally you would have to disable the user notice (“x tries left”) at this point (or add a persistence layer) to not confuse users.

    Cheers,
    Stefan

    Plugin Support Stefan Kalscheuer

    (@stklcode)

    Hi SphaeroX,

    zunächst einmal im Namen des Teams danke für das Lob.

    Die Idee an sich ist gut, allerdings bin ich mir nicht sicher, ob jeder das so sieht. Da unser kommenden größeren Version aber sowieso eine etwas umfangreichere Einstellungs-Seite kommen wird, kann man das natürlich konfigurierbar ergänzen.

    Ich gebe aber vorab zu bedenken, dass aktuell noch die Herkunft von internen Aufrufen geleert wird, sodass die Zahl im Moment nicht das darstellt, was man meinen sollte. Intern ist aber auch schon auf der Agenda, so gesehen passt das gut zusammen.

    Gruß,
    Stefan

    Forum: Plugins
    In reply to: [Statify] Reset stats
    Plugin Support Stefan Kalscheuer

    (@stklcode)

    If you’re not comfortable with SQL and “reset all but today” is sufficient, setting the storage period to 1 day and back removes all except today’s visits.

    Forum: Plugins
    In reply to: [Statify] Logged in users
    Plugin Support Stefan Kalscheuer

    (@stklcode)

    Edit: Oops, I read over the word “not“…
    Answer below solves the opposite, track uathenticated users 😉

    ———-

    Yes, adding something simple like
    return is_logged_in() ? true : null;
    but be aware that this skips all following default filters is a user is logged in. Consider picking some additional filters from the highlighted lines:
    https://github.com/pluginkollektiv/statify/blob/master/inc/class-statify-frontend.php#L161-L175

    Assuming authenticated users are usually no spam bots or crawlers, a simple error and feed exclusion might do the job here:

    add_filter(
        'statify__skip_tracking',
        function() {
            if ( is_logged_in() ) {
                // Track logged in users, excluding feed, preview, error and search (skip otherwise)
                return !is_feed() && !is_preview() && !is_404() && !is_search();
            }
    	
            // Continue regular processing.
            return null;
        }
    );
    • This reply was modified 7 years, 8 months ago by Stefan Kalscheuer. Reason: Answered wrong question
    Plugin Author Stefan Kalscheuer

    (@stklcode)

    Schön, dass ich helfen konnte.

    Transparenterer Behandlung von internationalen Domains habe ich mir dennoch auf die TODO Liste für die kommenden Versionen gesetzt. Insofern danke für den Hinweis.

    Gru0,
    Stefan

    Plugin Author Stefan Kalscheuer

    (@stklcode)

    Hi nochmal,

    mittlerweile hatte ich Gelegenheit, mir das ganze mal anzuschauen.

    Stand jetzt (Blacklist 1.4.4) kann ich die ASCII-Form der o.g. Domain (xn—-ctbigni3aj4h.xn--p1ai) eintippen und diese wird auch sauber herausgefiltert.
    (Testinstallation: nginx 1.15, PHP 7.2.9 inkl. “intl” Paket)

    Was aktuell nicht funktionieren, da es von der Validierung abgewiesen wird, ist die internationale Form direkt einzutippen, also soetwas wie “пример.ru” (“Beispiel” auf russisch – will ja nicht unnötig Werbung für irgendwen machen).

    Diese werden aber nicht in der Blacklist-Tabelle übernommen.

    Was genau meist du damit? Alao welchen Text hast du probiert, wo einzutragen?

    Gruß,
    Stefan

    Plugin Author Stefan Kalscheuer

    (@stklcode)

    Hi Christian,

    das ist weniger ein Zeichensatzproblem, als vielmehr ein Konfikt mit internationalen Domain Namen (IDNA2008). Aber über die Begrifflichkeiten wollen wir nicht streiten.

    Ich nehme an, du nutzt den einfachen Domain Filter ohne reguläre Ausdrücke? Dann kann ich mir die Ursache gut vorstellen, das wäre ein lösbares Problem.

    Kannst du mir verraten, welche PHP Version und welcher Webserver bei dir zum Einsatz kommen? Das Verhalten ist nicht bei allen einheitlich und damit ließe sich ein realistischer Testfall aufbauen.

    Gruß,
    Stefan

    Forum: Plugins
    In reply to: [Statify] Beste Quellen
    Plugin Support Stefan Kalscheuer

    (@stklcode)

    Hi,

    eine offensichtliche Erklärung wäre, dass deine Seite tatsächlich oft auf entsprechenden Webseiten verlinkt ist… Da du hier fragst, lautet die realistischere Antwort aber Referrer-Spam.

    Es gibt verschiedene Herangehensweisen, um das Problem zu bekämpfen.

    • Statify bietet die Möglichkeit, die Kommentar Blacklist zu nutzen, dazu einfach “Ignoriere Tracking für Referrer, die in der Kommentar-Blacklist hinterlegt sind” aktivieren.
    • Es gibt eine Erweiterung Statify Blacklist (Disclaimer: ich bin der Autor), um die Einträge manuell, zeitgesteuert oder auch live zu filtern.
    • Filterung/Umleitung der Anfragen auf Server-Ebene

    Meinen Beobachtungen nach ist der Anteil der Spam-Einträge bei “Seitenzählung via JavaScript” etwas geringer als ohne, da einige Spam-Bots nach wie vor nur die ursprüngliche Seite aufrufen und den asynchronen JavaScript Aufruf nicht mitmachen. Falls das nicht aktiv ist, wäre es auch schonmal ein (wenn auch vllt. kleiner) Schritt.

    Gruß,
    Stefan

    Plugin Support Stefan Kalscheuer

    (@stklcode)

    Ungecachte Seiten sollte es eigentlich nicht geben

    Beim Durchklicken habe ich schon eine Hand voll Seiten mit Erst-Ladezeiten >1s gefunden, die erst beim zweiten Aufruf <200ms lagen und den Cache-Kommentar in HTML enthielten. Normal, sofern nicht 100% der Seiten vorgeneriert werden und Caches nie ablaufen.

    Die Statify-Parameter in der URL brechen das Coaching auf (würde ja auch sonst nicht funktionieren), daher ist nur ein Vergleich mit der ungecachten Seite ohne Statify wirklich aussagekräftig.

    Grundsätzlich sollte man (wir) aber auch nochmal sehen, ob man noch früher reinkommt, um überflüssige Rechenzeiten anderer Plugins zu unterbinden (die 1-2s dreht der Server ja vermutlich nicht nur Däumchen). Insofern danke für den Anstoß.

    Plugin Support Stefan Kalscheuer

    (@stklcode)

    Hi Madd,

    leider hatte ich bislang kein Glück, das Problem auf einer mir zugänglichen Seite nachzustellen.

    Hast du die Möglichkeit zu prüfen, wie hoch die Ladezeit für die Startseite ohne Caching Plugin ist? Wäre wichtig, um eine Vorstellung zu bekommen, in welcher Größenordnung wir uns auf dem System überhaupt bewegen.

    Statify kommt als Plugin mit S relativ weit hinten in der Liste, daher wäre es nicht auszuschließen, dass ein anderes Plugin die Ladezeit verursacht, welches vorher an der Reihe ist. Ohne o.g. Vergleichswert aber auch nur Spekulation.

    Gruß,
    Stefan

    Nachtrag:
    Ich habe mich gerade mal durch die Seite geklickt und einige, bislang offenbar ungecachte Seiten entdeckt, Ladezeit mitunter bis zu 2.5s (https://www.abenteuer-brettspiele.de/top-listen/top-10-brettspiele-2018-vorschau)
    Das spräche dafür, dass derartig lange Ladezeiten bei dir leider normal sind. Selbst aus dem Cache fallen zum Teil 200ms und mehr TTFB raus.

    Forum: Plugins
    In reply to: [Statify] Blacklisting bots
    Plugin Support Stefan Kalscheuer

    (@stklcode)

    Hi carbeck,

    Reason is not the JS capability of these bots, but their user agent strings.

    Statify comes with a default filter that whitelists Windows, Linux, iPhone, etc.
    The mobile bots however match this to force mobile display instead of desktop version.

    Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4 (compatible; YandexBot/3.0; +http://yandex.com/bots) — Indexing robot.

    This behavior should probably be changed in future versions to a more refined blacklist.

    Currently the only chance is a custom skip hook or a blacklist plugin to filter their IP subnet. (my blacklist extension does not feature user agent filter either at the moment)

    Regards,
    Stefan

Viewing 15 replies - 121 through 135 (of 157 total)