Monat: Dezember 2012

Experten raten zur Umstellung auf SFTP

12. Dezember 2012 - wordpress

Die Zeiten sind unsicherer geworden, nicht nur für die großen Namen im Internet. Vielbesuchte und wertvolle Webseiten waren immer schon im Visier der Hacker auf der Suche nach verwertbaren Daten. Aber auch kleinere, eher harmlosere Seiten und Blogs können interessant sein, um Malware zu verbreiten. Wir schützen unsere WordPress Seiten gegen Brute-Force Angriffe auf das Benutzerpasswort und verwenden Nonces, um SQL Injection und Cross-Site Scripting zu verhindern. Experten wie Tobias Fellner von dem Dortmunder Business Intelligence Spezialisten trisolute.de raten nun dringend, auch beim Filetransfer mit FTP umzudenken. "... FTP überträgt das Passwort unverschlüsselt. Man präsentiert den Eingangsschlüssel zu den eigenen Daten damit wie auf dem Silbertablett... ." Tobias Fellner empfiehlt WinSCP. Aber auch Tim Kosses gutes altes Filezilla in der aktuellen Version 3.6.0.2 kann mithalten. Was muss man tun, um umzustellen? Getestet habe ich Strato und 1und1. Strato:
  • In Filezilla muss im Servermanager auf das SFTP Protokoll umgestellt werden.
  • Als Server trägt man ssh.strato.de ein.
  • Der alte Benutzername und das Passwort müssen nicht verändert werden
1und1: hier ist es noch einfacher
  • in Filezilla nur auf SFTP umstellen
Mit wenigem Aufwand kann man ein hohes Maß an Sicherheit erreichen. Wenn es immer so leicht wäre 🙂

Einen Halbjahreskalender mit dem Events Manager erstellen

8. Dezember 2012 - Events Manager, wordpress

Die Zeit vergeht, und ich habe immer noch keinen Halbjahreskalender, der die Termine meines Kunden und  Sonn- und Feiertage  anzeigen kann. Dieses Mal probiere ich den Events Manager aus. Der Events Manager beschreibt sich so: Aside from being the most flexible events plugin for styling without modifying code, Events Manager is made with developers in mind, meaning that any aspect of the plugin can be hooked into and modified to suit your needs! Das stimmt mich hoffungsvoll & positiv... Für Kalendar stehen zwei verschiedene Ausgabe-Formate zur Verfügung:
  • .../wp-content/plugins/events-manager/templates/templates/calendar-full.php    ( The Full Calendar)
  • .../wp-content/plugins/events-manager/templates/templates/calendar-small.php   (The Small Calendar)
Diese kann man in den eigenen Theme-Ordner kopieren und überschreiben: ../wp-content/themes/my-theme..../plugins/events-manager/templates/calendar-full.php Das ist ok für reine kosmetische Veränderungen, aber ich brauche ein anderes Format! Leider stellt sich heraus, dass die Leitungen, die die Ausgabeformate mit Daten aus dem Plugin-Kern versorgen, entweder nur eine nicht limitierte Anzahl von Events oder alle Tage eines vorzugebenden Monats mit den eventuell darin liegenden Events  liefern können. Alle Tage eines Jahres oder eines Vierteljahres mit den darin liegenden Events werden nicht unterstützt, es sei denn, man greift in den Plugin-Kern ein, was ich aber unbedingt vermeiden will. Marcus Sykes, der den Events Manager betreut und  immer schnell auf Fragen antwortet, schlägt vor, sich alle benötigten Events eines Zeitraums zu holen und dann den Kalendar selbst zu bauen. Die Events holt man z.B. mit

$events = EM_Events::get(array('scope'=>array('2013-01-01','2013-07-01')));

Da dieses Array riesig ist und nur wenige Daten daraus benötigt werden, erzeuge ich mir ein kleineres Array mit dem Eventdatum als Key:

if($events){
//Go through the events
foreach($events as $event) {
$eventful_days[$event->start_date] = array('name'=>$event->event_name,'content'=>$event->post_content);
}

}

Dann baue ich den Kalender auf, trage bei jedem Tag als Klasse ein, ob es ein Wochentag, Samstag, Sonntag, Feiertag oder Eventtag ist, damit man die Ausgabe später formatieren kann. Zur  Berechnung der beweglichen Feiertage (die alle am Osterdatum hängen) gibt es HIER noch eine Information Ansehen kann man sich den Kalender HIER

Ostern: tiefergelegt mit PHPs easter_date()

7. Dezember 2012 - PHP

Der neue, mit PHP selbstprogrammierte Jahreskalender ist fertig! Alles sieht schön aus! Aber Ostern und die restliche Bande der beweglichen Feiertage sind leider um einen Tag verschoben... English Summary: What an Easter egg! When you have finished your self-programmed calender with PHP, you may observe that Easter and all others of  the movable holidays have shifted one day. Ein Programmierfehler? Wahrscheinlich, aber nicht deiner! Die meisten beweglichen Feiertage werden mit easter_date() berechnet. Hier liegt das Problem , das HIER  im Abschnitt  "Notes" beschrieben wird. Eine Lösung wird ebenfalls vorgeschlagen. Wenn ihr das Osterdatum aber als Timestamp wie bei easter_date() benötigt, sollte die Lösung etwa so aussehen:
function get_easter_datetime($year) {
$base = new DateTime("$year-03-21");
$days = easter_days($year);
$base->add(new DateInterval("P{$days}D"));
return $base->getTimestamp();
}
oder (Simplify, simplify!)

function get_easter_datetime($year) {
$days = easter_days($year);
return mktime(0, 0, 0, 3, 21+$days,$year);

}