Monthly Archives: Dezember 2013

WBB 3: Spamanmeldungen unterbinden

Forenbetreiber kennen das leidige Problem: Spam. Foren werden mit dubiosen Werbetexten und URLs zugemüllt, dazu kommen haufenweise neue Useranmeldungen, in dessen Profilangaben wieder nichts anderes als zweifelhafte Werbung zu finden ist.

Doch was tun? Konfiguriert man die Nutzerrechte entsprechend restriktiv und setzt für öffentliche Bereiche sowie für die Registrierung ein Captcha-System ein, lässt sich die Zahl der Postings und Anmeldungen deutlich reduzieren. Doch auch die Spamer werden kreativer, so dass auch ein Captcha-System mitunter keine große Hürde mehr darstellt und trotz aller Mühe ein paar Neuregistrierungen pro Tag durchkommen. Eine sehr nervige Angelegenheit.

Für das WoltLab Burning Board (aktuell in Version 3) existieren zwei Plugins, welche ich an dieser Stelle empfehlen möchte:

Honeypot
Dieses erweitert die Registrierung um zusätzliche, für den normalen Benutzer unsichtbare Formularfelder. Spambots sind versucht, alle zur Verfügung stehenden Felder mit irgendwelchem Text zu füllen. Sollte dies passieren, greift das Plugin ein und verhindert einen weiteren Registrierungsvorgang.

Stopforumspam
Dieses Plugin arbeitet mit einer Art „Blacklist“-System beim Registrierungsvorgang. Hierbei werden Benutzername, IP- und Email-Adresse mit den hinterlegten Daten auf http://stopforumspam.com abgeglichen. Werden Übereinstimmungen gefunden, erfolgt eine automatische Sperrung, welche nur durch den Forumsbetreiber aufgehoben werden kann. Das Plugin ist konfigurierbar, beispielsweise kann bei einer versuchten Spamanmeldung auch eine Email-Nachricht an den Forumsbetreiber versendet werden.

Idealerweise lassen sich beide Plugins auch in Kombination verwenden.

Suchen und Ersetzen in Dateien

Vor einiger Zeit musste ich bei der Überarbeitung einer Webpräsenz in sämtlichen PHP-Dateien eine bestimmte Zeichenkette durch eine andere ersetzen. Da es sich hierbei aber um eine recht große Zahl handelte, wäre eine manuelle Bearbeitung jeder Datei recht mühsam gewesen. Also was tun?

Hier hilft auf der Konsole der Befehl find in Kombination mit sed (stream editor) weiter:

find . -name "*.php"|xargs sed -i "s#TextAlt#TextNeu#g"

Somit wird diese Aufgabe zu einer Sache von Sekunden.

Vor der Anwendung möchte ich ergänzend empfehlen, für den Fall der Fälle eine Backup-Kopie der betreffenden Dateien anzulegen, da die bestehenden Dateien in jedem Falle überschrieben werden.

iPhone-Fotos nach dem Aufnahmedatum benennen

Und wieder etwas für die Freunde der Konsole 😉 Beim Sortieren meiner iPhone-Fotos suchte ich nach einer Möglichkeit, diese bequem anhand des Aufnahmedatums zu benennen und fand diese mit dem ExifTool.
Wie auch das iPhone, legt mittlerweile jede handelsübliche Digitalkamera zusätzliche Informationen wie Datum, Uhrzeit, Brennweite, Belichtungszeit, Blende, GPS-Koordinaten (wenn verfügbar), etc. in Form von Exif-Metadaten innerhalb der Bilddatei ab. Diese Metadaten können von Bildverarbeitungsprogrammen ausgelesen und weiterverarbeitet werden und eignen sich somit hervorragend für mein Vorhaben.

Beim ExifTool handelt es sich um ein Perl-Modul, welches ein zusätzliches Kommandozeilen-Werkzeug zum Lesen und Schreiben der Metainformationen beinhaltet. Hierzu muss das Paket libimage-exiftool-perl installiert werden; unter Debian-basierten Systemen (wie beispielsweise Ubuntu) geschieht dies mittels

apt-get install libimage-exiftool-perl

Zum Umbenennen aller Dateien im aktuellen Verzeichnis nach dem Aufnahmedatum (wofür ich hier den Wert „CreateDate“, also das Erzeugungsdatum verwende) kommt nun das ExifTool zur Anwendung:

exiftool -P '-FileName<CreateDate' -d %Y-%m-%d_%Hh%Mm%S.%%e ./*

Dieser benennt nun die Dateien nach folgendem Schema: 2013-12-09_16h31m15.JPG

Linux: Datei-Berechtigungen rekursiv setzen

Oftmals benötigt man die Möglichkeit, die Berechtigungen von Verzeichnissen und Dateien verzeichnisübergreifend zu ändern. Auf der Konsole ist dies mit Hilfe des find-Befehls kein Problem. Um beispielsweise die Berechtigungen eines Verzeichnisses incl. aller Unterverzeichnisse rekursiv auf 755 (drwxr-xr-x) zu setzen, kann man diesen Befehl nutzen:

find /verzeichnis/ -type d -exec chmod 755 {} +

Analog dazu kann man die Berechtigungen der enthaltenen Dateien rekursiv auf 644 (rw-r–r–) setzen:

find /verzeichnis/ -type f -exec chmod 644 {} +

Eigentümer und Gruppe lassen sich mittels

chown -R USERNAME:GRUPPENAME verzeichnis/

ebenfalls bequem rekursiv setzen.

Hallo Welt!

linux-terminal
#include
int main()
{
std::cout << "Hallo Welt!" << std::endl;}

Hallo Welt!

Wie beim Programmieren das übliche erste selbst geschriebene Programm ein „Hallo Welt!“ ausspuckt, soll dies auch der Titel des ersten Beitrags in meinem Blog sein. Künftig werde ich hier primär Lösungen, Tipps und Vorschläge aus dem Bereich der IT veröffentlichen und damit vielleicht dem einen oder anderen eine Hilfestellung bieten können. Dazu werde ich auch nach Lust und Laune über andere Themen schreiben – man darf also gespannt sein.

Zum Autor: Über mich