PHP 8.2 depcreation warnings mit einem Plugin

  • Hallo Forum,


    ich habe ein "altes" Tool Marcos Interception, welches nicht mehr weiter entwickelt wird, im Einsatz.

    Es macht, was es soll - es identifiziert Attacken, setzt die Ip auf eine Blacklist und informiert mich per E-Mail.


    Das Plugin tut seinen Dienst ohne Fehlermeldungen bis PHP 8.1

    Mit PHP 8.2 kommt Depcreation Warnung, die ab PHP 9.0 zu einem Fatal Error werden soll.


    Da sich der Entwickler nicht mehr darum kümmert, eine Frage, wie ich das Problem angehen kann


    Moniert wird bspw.

    Code
    [18-Sep-2023 17:53:30 Europe/Berlin] PHP Deprecated:  Creation of dynamic property plgSystemMarcosinterceptor::$p_errorMsg is deprecated in /home/www/plugins/system/marcosinterceptor/marcosinterceptor.php on line 26


    Code
         26:   $this->p_errorMsg = $this->params->get('errormsg', 'Internal Server Error');


    Der gesamte function Blog sieht so aus und quasi alles, was dort steht, löst depcreation aus:


    Habt ihr einen Tipp - oder ein alternatives Plugin, was zeitgemäßer ist?

    Danke im voraus

    Mitcha

  • $this->p_errorMsg

    $this ist die Pluginklasse (bzw. das Plugin-Objekt(?)), in der du dich gerade befindest. Zu Beginn einer Klasse werden die Eigenschaften/Properties definiert, die verwendet werden sollen und da fehlt bei dir die Definition von $p_errorMsg und all der anderen (vermutlich).


    Beispiele genug im Joomla-Core und


    Gelegentlich gibt es aber Situationen, in denen die Vordefinitionen gar nicht möglich sind. Dann kann man mit

    Code
    #[\AllowDynamicProperties]

    (so findet man das im Joomla-Core)

    oder

    Code
    #[AllowDynamicProperties]

    (so findet man das im Netz)

    arbeiten. Findet sich genug im Netz.


    Allerdings gibt es auch Debugger-Tools, die das wohl "übersehen" und trotzdem noch ein Deprecated ausgeben. Keine Ahnung...


    Generell ist es natürlich zu hinterfragen, eine veraltete "Sicherheits"-Erweiterung nur wegen so was und nur da aufzubohren, nur damit sie weiterläuft...

  • #[\AllowDynamicProperties]

    Danke, funktioniert!


    WM-Loose

    Danke, aber ich will nur die lästigen Script Kiddies blocken

    Code
    option=com_b2jcontact&view=loader&type=uploader&owner=component&bid=1&qqfile=/../../../vuln.php
    
    type=atom999999.1%20union%20select%20unhex(hex(version()))%20--%20and%201%3D1


    Da habe ich teilweise bis zu 1.500 Versuche pro Minute. Lasse ich das offen, ist mir das einfach zu viel Last - Block und Ruhe iss.

    Das Script von Marco ist halt deswegen so gut, da es sich auf ein Minimum beschränkt und ein Maximum an Effekt liefert.


    bembelimen

    Ja, mir ist das schon bewusst und das Script wurde schon mehrfach angepasst und ja, spätestens mit PHP9 muss ich mich dann einmal genauer umschauen.


    Vielen lieben Dank an dieser Stelle an euch!

  • Lasse ich das offen, ist mir das einfach zu viel Last

    Ab dem Moment, wo du eine Joomla-Erweiterung verwendest, hast du doch sowieso schon "die Last" auf das CMS. Viel effizienter ist doch in der .htaccess oder vielleicht Server-Firewall oder ähnlich. Außerdem verschicken die kein Emails. Wozu auch? Damit man sich über Grundrauschen im Netz aufregt...

  • Viel effizienter ist doch in der .htaccess oder vielleicht Server-Firewall oder ähnlich.

    Ja, das Thema hatte ich tatsächlich schon einmal :)

  • Mir stellt sich die Frage, warum überhaupt sich damit beschäftigen? Alle so Hacks funktionieren, wenn überhaupt ja nur kurzzeitig und sind dann nur noch veralteter Schall und Rauch; außer man verwendet wirklich schrottig, veraltete Software, die halt noch offen ist für so Kram.


    Und die neuen Hacks kommen halt vielleicht an so Sperren vorbei, weil sie eben neue sind und die Sperren nicht aktuell, was sie fast nie sein können.


    Für mich in dieser Art reine Zeitverschwendung.