Mal wieder eine kleine aber feine PHP-Funktion. Diesmal geht es darum, einen Rechner per Wake-on-LAN-Signal (WOL) über das Netzwerk aufzuwecken. Prinzipiell muss dazu nur eine Verbindung zu einem anderen Rechner im Netzwerk oder einem Router aufgebaut werden, der dann das entsprechende Signal im Netzwerk herumschickt und so den gewünschten Computer aufweckt, sobald dieser das Signal empfängt.
Das Signal ist relativ einfach aufgebaut: 6 Mal der Hexwert FF und anschließend 16 Mal die MAC-Adresse der Netzwerkkarte des zu weckenden Rechners. Dieses sogenannte MagicPacket wird via UDP an Port 0, 7 oder 9 gesendet.
Wenn man die IP-Adresse des Routers nicht kennt, kann auch ein Broadcast (Signal an alle Geräte im Netzwerk) gesendet werden, sofern der Router dies zulässt.
<?php
$mac = '00:00:00:00:00:00';
$ip = 'udp://255.255.255.255';
function wakeup($mac, $router) {
if(strlen($mac) !== 17)
return FALSE;
if(filter_var($router, FILTER_VALIDATE_URL) === FALSE)
return FALSE;
$raw = sscanf($mac, '%2x:%2x:%2x:%2x:%2x:%2x');
$func = create_function('$v', 'return isset($v);');
$raw = array_filter($raw, $func);
if(sizeof($raw) !== 6)
return FALSE;
$fp = fsockopen($router, 9, $errnum, $errstr, 4);
if(is_resource($fp) === FALSE) {
trigger_error('['.$errnum.'] '.$errstr, E_USER_ERROR);
return FALSE;
}
$magicp = "\xFF\xFF\xFF\xFF\xFF\xFF";
$hexmac = '';
foreach($raw AS $c) {
$hexmac .= chr($c);
}
$magicp .= $hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac.$hexmac;
fwrite($fp, $magicp);
fclose($fp);
printf('Wake-Up-Signal an %02X:%02X:%02X:%02X:%02X:%02X übertragen!', $raw[0], $raw[1], $raw[2], $raw[3], $raw[4], $raw[5]);
return TRUE;
}
wakeup($mac, $ip);
?>
Ich benutze diese Funktion um den Server aus der Ferne aus dem Ruhezustand zu holen, um mit ihm arbeiten zu können.
Zu einem doch sehr interessanten Ergebnis sind die Jungs von Performable gekommen, wenn es darum geht, welche Farbe denn ein typischer Sign-Up Button haben sollte.
In dem Test haben sie den Sign-Up Button ihrer eigenen Startseite unter die Lupe genommen und dessen Farbe von Grün nach Rot geändert, um zu sehen, welche Variante mehr Besucher dazu bringt, sich anzumelden. Das übrige Design wurde nicht angetastet.

Interessanterweise führte die rote Schaltfläche dazu, dass sich 21% mehr Besucher anmeldeten. Erstaunlich ist das deshalb, weil man eigentlich Rot eher mit „Stopp“ verbindet wohingegen Grün eher für „Los geht’s“ steht und in diesem Fall auch besser zu den Firmenfarben passte.
Dennoch meldeten sich auf Grund des roten Buttons gut ein Fünftel mehr Besucher an und der Test benötigte keine großen Ausgaben.
Ich kann mir das nur so erklären, dass die rote Schaltfläche schlicht mehr Aufmerksamkeit auf sich zieht als die Grüne.
Trotzdem sollte gesagt sein, dass man das Ergebnis nicht verallgemeinern kann und nur als groben Anhaltspunkt nehmen sollte.
[Grafik: Button Color Test: Red beats Green]
Viele Computernutzer und Sicherheitsfanatiker Sicherheitsbewusste setzen auf die freien Programme DBAN oder shred (unter Linux), wenn es darum geht Festplatten durch Überschreiben sicher zu löschen (sog. Wiping oder Shredding).
Secure Erase
Was die wenigsten wissen ist, dass moderne Festplatten ein eingebautes Kommando zum sicheren Löschen der gesamten Daten besitzen. Fast alle Festplatten, die nach 2001 gefertig wurden unterstützen einen speziellen Befehl, der in den ANSIATA-Standard (S-ATA und P-ATA) aufgenommen wurde. Dieser Befehl veranlasst die HDD dazu, den gesamten Inhalt zu überschreiben. Im Gegensatz zu Software-Lösungen werden dabei auch für den Benutzer nicht zugängliche Bereiche sicher gelöscht (Reserve-Sektoren, sog. Reallocated Sectors).
Im aktuellen Standard werden alle Sektoren mit binären Nullen überschrieben, was in den meisten Fällen mehr als ausreichend ist (siehe heise online – Sicheres Löschen: Einmal überschreiben genügt und Overwriting Hard Drive Data: The Great Wiping Controversy).
[…] nach einmaligem Überschreiben der Daten ist die Wahrscheinlichkeit, noch etwas rekonstruieren zu können, praktisch null. […] Wenn es um ein einziges Bit geht, von dem man ganz genau weiß, wo es steht, dann kann man es (in einem der genannten Beispiele) mit 56 Prozent Wahrscheinlichkeit korrekt rekonstruieren. Für ein Byte müsste man dann aber schon 8 Mal richtig liegen, was nur noch mit 0,97 Prozent Wahrscheinlichkeit klappt.Harald Bögeholz
Was ist aber nun der große Vorteil dieser Methode? Zum einen ist sie unanfällig für Malware-Angriffe, da sie in den ATA-Controller bzw. die Festplatte selbst eingebaut ist. Zum anderen bedeutet dies eine große Zeitersparnis, weil die Festplatte das Löschen „intern“ ausführt.
Laut Angaben des Center for Magnetic Recording Research (CMRR), welches sich maßgeblich für die Implementierung des Verfahrens eingesetzt hat, lassen sich die Daten bis zu 8 Mal schneller überschreiben im Vergleich zu Software-Shreddern. Nur zum Vergleich: das Löschen einer 160 GB HDD dauert mit DBAN rund eine Stunde.
Secure-Erase-Programm
Das CMRR bietet mit dem Programm Secure Erase (vormals HDDerase) auch gleich eine Lösung an, um den Befehl in Gang zu setzen. Nach dem Herunterladen der rund 800 KiB großen ZIP-Datei findet man darin ein bootfähiges ISO-Abbild, das sodann gleich auf eine CD geschrieben werden kann.
Nach dem Booten wird man dann vom Programm begrüßt und erhält auch gleich einige Warnmeldungen.


Nach dem Bestätigen dieser Warnungen sucht das Programm nach Festplatten und fragt dann, welche sicher überschrieben werden soll.

Anschließend beginnt der Löschvorgang. Leider gibt es keine Fortschrittsanzeige sondern nur eine Bestätigung sobald der Prozess abgeschlossen ist.
Alternative
Eine von mir gern genutzte Alternative ist das Linux-Kommando dd. So lässt sich zum Beispiel mit der Ubuntu Live-CD die HDD löschen, während man nebenbei im Web surfen oder ein Spielchen spielen kann.
dd if=/dev/zero of=/dev/sda BS=1M
Das obige Kommando überschreibt beispielsweise die erste S-ATA-Platte mit Nullen bei einer Blockgröße von 1 MB. Verglichen mit dem Safe Erase Kommando zieht dd aber auch den Kürzeren, weil es länger braucht und nicht alle Bereiche löschen kann.
In einem Gastbeitrag bei Peter Kröner informiert Christian Schaefer, wie man die Ladezeiten einer Website ohne großen Aufwand drücken kann, um die Besucher nicht durch lange Ladezeiten zu vergraulen und einen guten Eindruck zu hinterlassen.
Schließlich zählt die Ladezeit mit zu den Erfolgsfaktoren einer Website und wird zukünftig auch in das Ranking bei den Google-Suchergebnissen eingehen.
Am Ende des Artikels stellt er noch seine PHP5-Bibliothek CSS-JS-Booster vor, die einem die Arbeit bei einigen der vorgestellten Tipps abnimmt und automatisch kombiniert.
Alles in allem ein lesenswerter Artikel und einige sinnvolle Tipps, die einfach umzusetzen sind!
Heute morgen ist mir eine mehr oder weniger große Veränderung an den Suchergebnisseiten von Google aufgefallen. Offenbar hat der Suchmaschinenriese mit Beginn des neuen Monats sein Layout ein wenig aufpoliert und verfeinert.

In diesem Zuge wurde nicht nur das Logo ein wenig mehr an das Web 2.0 Design angepasst, sondern auch die Anordnung der Elemente wurde verändert. Suchoptionen und -verfeinerungen befinden sich nun in einer Leiste auf der linken Seite (ähnlich wie schon länger bei der Bilder-Suche).

Auch die bekannte Startseite mit der Eingabemaske hat ein Redesign erfahren, bei dem allerdings augenscheinlich nur die Knöpfe zum Suchen und "Auf gut Glück!" verändert wurden.
Bei mir tauchten die Änderungen auch nur sporadisch auf und auf einem anderen Rechner gar nicht. Das deutet darauf hin, dass es noch nicht für alle zur Verfügung steht und gerade erst eingepflegt wird.