Artikel in der Kategorie 'PHP'

clone $object

Manchmal sind es ja die Kleinigkeiten die einen sehr verwirren können. So wechselte bei T³ beim Bestätigen einer Turnierabsage das Sprachinterface zur Hälfte auf Französisch und auch die entsprechenden Mails gingen nicht in Deutsch raus. Etwas Debugging später ergab sich die relativ einfache Lösung: Mit dem lang fälligen Serverupdate habe ich auch endlich PHP4 auf PHP5 aktualisiert. Da PHP5 eine ausgebaute Unterstützung für objektorientierte Programmierung erhalten hat, hat der alte Code, der die verschiedenen Sprachcontainer verwaltet nicht mehr korrekt funktioniert. Nun wurden nämlich (wie es ja auch sein sollte) die Verweise kopiert und nicht mehr die Objekte. Mit ein paar hinzugefügten “clone $object” läuft nun alles wieder rund.

Wie gesagt… die Kleinigkeiten, die einen echt verwirren können. ;)

Dem Spam auf der Spur (Seltsames via tomogames.com)

Aktuell habe ich ein kleines größeres Spamproblem. Über den leider noch nicht ausreichend gesicherten Kontaktmailer von T³ wurden eine Reihe von Werbemails an registrierte Nutzer verschickt. Das Kontaktformular dient zum Schutz der Emailadressen der Nutzer. Leider kann er sich nicht um den Inhalt kümmern.

So kam es nun, dass seit ein paar Tagen der Mailer für Spam missbraucht wurde. Unter verschiedenen Namen wurde folgender Mailtext verschickt:

Hi,
ein guter Kollege von mir hat einen neuen Online-Shop aufgemacht für Warhammer Fantasy und 40k (Tomogames.com)
Ich will ihm helfen, dass der Shop bekannt wird.
Er gibt bis zu 25% Rabatt auf alles!

hf Death Master

Absender wechselt kreativ mit thematisch passenden Namen und einer nameNummer@(gmx|yahoo).(de|net) Mailadresse. Die Webseite weist dabei ein paar Sachen auf, die etwas fragwürdige Dinge aufzeigt:

  • Technische Realisierung durch eine undurchsichtige Firma in Paraguay (ICI srl.)
  • Bezahlung nur via Vorkasse oder Paypal (was da auch nicht sicher ist)
  • “Erlaubnis zur E-Mail-Werbung” in den Datenschutzbestimmungen (Standardfloskel)
  • Jegliche Spuren und Suchanfragen führen zu einer Reihe mir suspekter Webseiten bzw. Forenthemen zu Spam

Inhaber der Seite ist laut Impressum:

Tomogames-Vertrieb Deutschland
Ralf Banf
Oskar Schlemmer Ring 8
67657 Kaiserslautern

Wenn man nun nach Herrn Banf aus Kaiserslautern sucht, stößt man auf folgende Seiten:

  • Div. Einträge in Branchenbücher als Werbeagentur mit der Domain wab.de, die aber auf eine “Erotik”seite names firstXplanet zeigt
  • kl-portilo.de/PORTILOkonzept.de – Angebliches Affiliatehandling für die Umwelt (Inhaberin: Gabriele Banf)
  • venusgalerie.de – Erotikwebservice (Inhaber: iMedia Internet Entertainment von Hrn. Banf, Jugendschutzbeauftrage: Fr. Banf)
  • wir-leben-jetzt.com – Noch ein Onlineshop der iMedia Internet Entertainment
  • virtualsurfcity.de – Mischung aus firstXplanet und diesmal firstXerotik
  • etc.

Sucht man nun nach dem verantwortlichen admin-c, so stößt man auf den Herren Jürgen Vogel aus Paraguay mit der Mailadresse info@6mem.com. Die Domain 6mem.com zeigt dabei interessanterweise wieder auf firstXplanet. Auch wird die Firma des tech-c (ICI srl. auch aus Paraguay, Geschäftsführer Kurt Vogel) im Impressum von tomogames.com als technischer Betreuer genannt.

Dies alles lies sich nach 1-2h Recherche herausfinden. Ich habe nun mal die entsprechenden Abuse-Stellen angeschrieben und auf die Situation hingewiesen. Allzuviel erhoff ich mir davon nicht. Einzig das Versenden der Bulkmails könnte eventuell ein Ansatzpunkt sein, da dies meist einen Verstoß der AGBs des ISP bedeutet.

Ich werde berichten, was sich da so tut…

Strato und der include_path

Soeben hatte ich ein Problem mit einem Kunden, bei dem ein Skript nach dem Umzug von meinem Entwicklungsserver auf dessen Produktivserver bei Strato seinen Dienst verweigerte.

Die Ursache war, dass sich das PHP-Skript weigerte ein require_once(‘lokale_datei.php’) zu akzeptieren. Der Server behauptet klipp und klar, dass es die Datei, die direkt neben der aufrufenden Datei liegt, nicht gibt. Mit einem leeren(!) include_path auch kein Wunder. Seltsam, dass das Ganze eine Verzeichnisebene tiefer keinerlei Probleme macht.

Das Problem war ja leicht zu beheben, aber wo kommt es her?

Visual C# vs PHP

Ich weiß… der Vergleich hinkt etwas, da Visual C# und PHP nicht gerade im gleichen Bereich alternativ eingesetzt werden, aber das sind die beiden Programmiersprachen, mit denen ich z.Z. arbeite. Im direkten Vergleich merkt man aber mal die extremen Unterschiede in der Programmierung von (Standalone)Anwendungen und Webanwendungen… und was ein gutes Tool alles ausmachen kann.

Für C# nutze ich zZ die kostenfreie Visual Studio C# Express Edition 2008 von Microsoft. Interface zusammenklicken und generierten Code auffüllen. Das macht echt Spaß. Allein das Anlegen eines Eingabeformulars bzw. die Eingabekontrolle geht so locker von der Hand. Einfach einen ErrorProvider und ein paar Funktionen zur Kontrolle hinzufügen und der Rest geht von ganz allein. Wenn man dann an das HTML-Formularhandling denkt… *graus* … vor allem, da ich das Meiste noch wirklich per Hand im guten alten Phase5 mache. Ich habe mir zwar schon eine kleine Klasse geschrieben, die etwas beim Verwalten von Formularen hilft, aber Eingabekontrolle beherrscht sie noch nicht.

Kennt zufällig wer ein gutes Framework für PHP, was da Abhilfe schafft? Ich habe mir zwar schon 1-2 angeschaut, aber bis jetzt hatte ich noch nie die Motivation mich in eins einzuarbeiten.

Wenn man sich auf User verlässt…

… dann ist das nicht immer sinnvoll. Zumindest wenn man davon ausgeht, dass sich Nutzer melden, wenn sie Fehler bemerken. So existierte in einem von mir geschriebenen Kommentarsystem seit grob geschätzt 6 Monaten ein Bug, der jeden abgeschickten Kommentar mit einer Fehlermeldung über einen ungültigen Skriptaufruf quittierte, obwohl dieser korrekt in System eingespeist wurde. Etliche Kommentare existierten somit doppelt oder noch öfters. Einige bemerkten dies und schrieben auch Kommentare ala “muss wohl ein Systemfehler” sein… aber den Fehler an einen Administrator melden? Nee… sowas macht man lieber nicht. Daher habe ich gestern gut eine halbe Stunde die Datenbank aufgeräumt und mir dann ein kleines Skript zur Überwachung der Kommentare geschrieben. Zudem werde ich das Kommentarsystem wohl noch um eine Anti-Doppelpost-Funktion erweitern. Wie heißt es so schön: Vertrauen ist gut, Kontrolle ist besser. :/