Kategorie: eproi pur

eproi pur – das ist „unsere“ Kategorie in der wir ganz speziell beleuchten was uns in/um/mit eproi bewegt. Dabei sowohl technisches aus unseren Projekten aber mitunter auch tagesaktuelle IT-Themen.

  • Neuer Service: Ein Pageconverter

    Nach unserer Event‑Ressourcenplattform Ende letzten Jahres folgt nun das nächste Produkt aus dem eproi‑Ökosystem: PageConvertPage.
    Mit diesem Tool lassen sich Webseiteninhalte direkt in den gewünschten Pagebuilder übersetzen – schnell, zuverlässig und mit weitaus geringerer manueller Nacharbeit als bisher.

    (mehr …)
  • WordPress gehackt: Befallene Installation bereinigen — ein Praxisfall

    Eine WordPress‑Installation, die gestern noch normal lief, ist plötzlich komplett tot – weder Frontend noch Backend reagieren. Nach der ersten Wiederherstellung zeigt sich schnell, dass das Backend zwar wieder erreichbar ist, das Frontend jedoch weiterhin ausfällt. Ein Blick per FTP bringt die eigentliche Ursache ans Licht: Die Seite ist kompromittiert. Die Art der Infektion sorgt für massive Systemlast, selbstreparierende Core‑Dateien und ein Root‑Verzeichnis, das sich nicht mehr bereinigen lässt. Besonders heikel: Das Ganze läuft auf einem klassischen Webspace ohne SSH‑Zugriff, also ohne jede Möglichkeit, tiefer in das System einzugreifen.

    Parallel dazu berichtet Golem über aufgekaufte WordPress‑Plugins, die gezielt mit Backdoors versehen wurden. Cloudflare wiederum bewirbt sein neues EmDash‑System als robustere Alternative. Doch was bedeutet das alles in der Praxis – und was lässt sich aus dieser Melange wirklich lernen?

    (mehr …)
  • WordPress Plugins: Warum schlechte Auswahl deine Installation ruiniert

    WordPress (und auch andere CMS) sind verlockend: Schnell installiert, schnell mit Plugins erweitert und schnell online im Netz. Es ist aber leider etwas mehr als ein Pippi Langstrumpf Abenteuer bei dem 3×3 = 6 ergibt…

    (mehr …)
  • WordPress Performance: Warum zu viele Plugins deine Seite ausbremsen

    WordPress erfreut sich seit Jahren großer Beliebtheit – trotz oder vielleicht gerade wegen seines Alters. Heute wird damit fast alles gebaut: vom persönlichen Blog über Vereinsseiten bis hin zu ausgewachsenen Shopsystemen. Ursprünglich war WordPress aber eine reine Blogsoftware. Viele WordPress‑Seiten werden langsam, weil zu viele Plugins geladen werden – oft ohne dass Betreiber es merken. Oft entstehen Performance‑Probleme dabei nicht durch ein einzelnes Plugin, sondern durch Plugin‑Konflikte – besonders wenn mehrere Erweiterungen dieselben Hooks nutzen.

    Aber viele kennen es: Etliches ist eben nur mit zusätzlichen Plugins möglich.
    Und genau da beginnt das Problem: Nur weil man kann, heißt das nicht, dass man sollte.

    (mehr …)
  • PHP Warum truthy Prüfungen nicht immer wahr sind

    In PHP – wie natürlich auch in anderen Programmiersprachen – gibt es verkürzte truthy-Prüfungen. Ob, wie und wann man sie einsetzt muss aber genau überlegt sein. Das hilft am Ende nicht nur der Lesbarkeit sondern vermeidet auch Bugs, die auf Grund falsch gedachter oder vermeintlich logischer Prüfungen aufkommen.

    (mehr …)
  • HTTP 500: Was der Fehler wirklich bedeutet, warum er manchmal gut ist und wie du ihn vermeidest

    HTTP 500: Was der Fehler wirklich bedeutet, warum er manchmal gut ist und wie du ihn vermeidest

    Neulich haben wir schon über den Unterschied zwischen 401 und 403 gesprochen. Jetzt wollen wir weiterschauen: der HTTP Code 500 ist ein weiterer häufiger Kandidat – und verhält sich „mysteriös“. Teilweise ist das aber auch gut so.

    (mehr …)
  • PHPUnit-Tests: Wenn ein roter Test ein Erfolg ist

    PHPUnit-Tests: Wenn ein roter Test ein Erfolg ist

    Vor einiger Zeit berichteten wir schon mal darüber, dass wir angefangen haben, PHPUnit-Tests zu verwenden. Inzwischen ist das fast schon ein Standard bei uns geworden – Zeit nochmal einen Einblick in etwas Spannendes zu geben…

    Am Anfang steht natürlich immer die Frage: Was teste ich und wie?

    (mehr …)
  • Neues Kind in der eproi-Familie: Aeventus.de – für clevere Events

    Bisher stand eproi für maßgeschneiderte WordPress-Plugins und technisch raffinierte Programmierungen. Mit Aeventus präsentieren wir erstmals ein eigenständiges Softwareprodukt – browserbasiert, geräteunabhängig und bereit für den öffentlichen Auftritt.

    (mehr …)
  • PHP – catch me if you can!

    In PHP werden natürlich auch Fehler behandelt. Wenn man kritische Fehler nicht abfängt, wandern sie weiter nach oben bis das Script irgendwann eben abbricht. Fast jeder Entwickler dürfte schon einmal eine fatal error message erhalten haben. Oder falls der Server nicht ganz so auskunftsfreudig ist – was natürlich auf Grund der Sicherheit einer Seite begrüßenswert ist – dann eben einfach nur einen 500 internal Server error.

    Beides trägt jetzt in der Regel in Produktivsystemen nicht gerade zur Begeisterung bei. Deswegen könnte der ein oder andere auch schon mal auf die Idee kommen um seinen Code einen try…catch Block zu bauen. Das bietet sich gerad bei potentiell sehr fehleranfälligen Programmpassagen an, hat aber manchmal noch zur Folge, dass der Fehler trotzdem auftritt. Das liegt daran das meistens dann eine solche Struktur genutzt wird:

    try
    {
       echo 50/0;
    }
    catch (Exception $e)
    {
       echo "Division durch null ist nicht erlaubt!";
    }
    

    Das Problem dabei: Nicht alles was auftauchen kann ist auch Exception. Eigentlich ist eine Exception eher sowas wie ein Spezialfall für einen Fehler der auftauchen kann. Deswegen sollte man in einem solchen Fall das ganze besser so aufbauen:

    try
    {
    echo 50/0;
    
    }
    catch (Throwable $e)
    {
       echo "Division durch null ist nicht erlaubt!";
    }

    Denn alles was auftreten könnte ist auf jeden Fall ein Throwable. Hier wird es jetzt korrekt abgefangen und das Programm steigt nicht mehr aus. Natürlich lässt sich das noch verfeinern und erhebt keinen Anspruch auf Vollständigkeit, kann aber in manchen Situationen die Rettung sein…

  • HTTP 401 vs. HTTP 403: Was ist der Unterschied und wann nutzt du welchen Code?

    HTTP 401 vs. HTTP 403: Was ist der Unterschied und wann nutzt du welchen Code?

    Bei HTTP-Statuscodes denkt jeder erst mal an den allseits bekannten 404 – nicht gefunden. Das dürfte in der Regel auch der sein, den man am häufigsten antrifft. Nämlich immer dann, wenn eine Webseite oder eine andere über einen Webserver ausgelieferte Ressource nicht angefunden wurde. Sei es aus einem Schreibfehler heraus oder weil die Ressource tatsächlich nicht oder nicht mehr existiert. Neben diesem sehr wichtigen Code gibt es aber noch zwei weitere bemerkenswerte und aus unserer Sicht vielleicht etwas unterschätzte Codes: 401 – Unautorisiert und 403 – Verboten; bzw. auf englisch 401 – unauthorized und 403 – forbidden. Doch was sind die Unterschiede oder kann man beide einfach synonym verwenden?

    (mehr …)