Call to undefined function eregi() bei PHP 7

  • Hallo,
    nach Umstellung einer Seite (http://www.angeln-lippe.de/) kommt o. g. Fehlermeldung.
    Joomla 3.6.5 mit Phoca Galery, Phoca Maps, jDownload, ECC und wunderground-Wetter. Template iJoomla05 von http://ijoomlatemplates.com/.
    Fehler berichten steht auf Maximum. Beim Aufruf der Seite kommt nur die Joomla-Fehlerseite mit der o.g. Meldung und dem Standard-Text: "Die Seite kann nicht angezeigt werden, weil: ...".
    Ich kann mit der Meldung nichts anfangen, Google listet auf Anfrage auch nur Seiten, die die Meldung anzeigen.
    Ich habe (hoffentlich) alle Fremderweiterungen vorübergehend deaktiviert - keine Änderung.
    Mit Protostar funktioniert es, soweit angezeigt.
    Template ungeeignet?
    Habe erstmal auf PHP 5.6 zurückgestellt.

    ------------------------------------------------------------
    Gruß vom Jörg
    (Lehrer ist kein Beruf sondern eine Diagnose. oops )

  • Das verstehe ich nicht: Was wird angezeigt?


    Die Modulpositionen haben andere Namen und so fehlte Einiges. Aber das was da war lief ohne Fehler.

    Du musst sie mit der preg_match-Funktion ersetzen.


    Das vermag ich nicht. Dazu müsste ich die Stellen erstmal finden.
    Mir geht es eigentlich nur um Infos, ob es am Template liegt. Dann muss eben ein Neues her.

    ------------------------------------------------------------
    Gruß vom Jörg
    (Lehrer ist kein Beruf sondern eine Diagnose. oops )

  • Suche in deinen dateien wo "eregi(" vorkommt.


    Doch gleichmal gemacht. Überschaubares Ergebnis:
    administrator\components\com_jdownloads\helpers\jdownloadshelper.php (1 hit)
    Line 841:


    templates\ijoomla05\html\template.php (1 hit)
    Line 12:


    Kann jemand bitte korrigieren?

    ------------------------------------------------------------
    Gruß vom Jörg
    (Lehrer ist kein Beruf sondern eine Diagnose. oops )

  • Ersetze

    PHP
    eregi($search, $r_xml, $search_result1);

    mit

    PHP
    preg_match('%' .$search. '%i', $r_xml, $search_result1);


    und


    PHP
    eregi($spider, $_SERVER['HTTP_USER_AGENT'])


    zu


    PHP
    stripos($_SERVER['HTTP_USER_AGENT'], $spider)


    Wobei du letzteren Code bzw. den folgenden ganzen Block auch rausschmeißen könntest, wenn keine vertraglichen Absprachen dem entgegenstehen. Was diese Zeilen



    nämlich tun, ist, den Suchmaschinen Google, Yahoo, etc. einen Link zu einem T-Shirt-Laden (tshirt-elefant) einzublenden, was eine Black-Hat-SEO-Technik darstellt, und meistens mit den Website-Besitzern nicht abgesprochen.

  • Der zweite Code (template.php) setzt für Suchmaschinen alle 24h neue Spamlinks in die Seite ein. Ich erinnere mich, dass das in der Vergangenheit schon mal in anderem Forum Thema war. Der Code kann (muss aber nicht) zur Sicherheitslücke werden, da auch anderer Code von außerhalb in die Seite geladen werden kann und psdu.net seit jeher als "dubios" zu bezeichnen ist. Ich würde zuerst ausprobieren, die Datei template.php zu leeren, ob das Auswirkungen auf die Seite hat. Wenn nicht, auch die mods.php, in der der jeweils aktuelle Spamlink zu finden ist, löschen/umbenennen und 2, 3 Tage paranoid kontrollieren, ob er wieder auftaucht.


    Finde gerade noch: http://www.kirbyplanet.net/avo…g-these-joomla-templates/ mit selbem Rechercheergebnis und selbem Tipp.

  • Ich danke Euch allen!
    Nach dem ersten "Herzkasper" habe ich mal in das Originalpaket des Templates geschaut. Datei sieht da exakt genauso aus. Puh!
    Entscheidung ist dann wohl klar: Template fliegt raus.
    Bis dahin werde ich mal die Tipps von Re:Later als Feuerwehraktion fahren.

    ------------------------------------------------------------
    Gruß vom Jörg
    (Lehrer ist kein Beruf sondern eine Diagnose. oops )

  • Die drei Tipps aus dem Link von @Re:Later habe ich mal ohne Kollateralschäden umgesetzt. Beobachten und weiterfahren. Wenn die Dateien wieder auftauchen habe ich sowieso ein Problem ...
    Die andere Fundstelle gehört ja zu jDownloads, da kümmere ich mich mal separat drum. Ich verwende 3.2.46.

    ------------------------------------------------------------
    Gruß vom Jörg
    (Lehrer ist kein Beruf sondern eine Diagnose. oops )