Xampp 1.6.7 unter Vista mit blockierten Ports!

Vorgeschichte:
Wenn man mit seinem Laptop eh nicht zu 100% zufrieden ist und man selbst schon fast von einem Fehlkauf spricht, kommt es einem gerade recht, wenn wichtige Programme wie xampp zusätzlich ihren Dienst nicht ausführen! Da ich gerade an 2 Projekten arbeite, für die ich ein einen PHP Interpreter benötige, war ich schon fast gezwungen alle zu interpretierenden Dateien nach jeder kleinen Änderung auf meinem Webspace hochzuladen um dort zu überprüfen ob der gewünschte Effekt entsteht und daraufhin festzustellen, dass ich eine Kleinigkeit im Code vergessen hab und somit die Tortur von neuem startet!

Fehlersuche und Fehlerbeseitigung:
Nach der Installation des Tools ließ sich lediglich der MySQL Dienst starten. Der Apache machte rein nach einem klick auf Start rein garnichts. Weiterlesen

Dell Studio 15 Review!

Manchmal glaubt man kaum, wie schnell die Zeit vergeht! Nun bin ich schon fast view Wochen im Besitz meines Dell Studio 15 Notebooks!
In diesem Beitrag gab es bereits einen kleinen ersten Testbericht zum Notebook. Der Test ist eigentlich ziemlich positiv aufgefallen, jedoch konnte ich nach so kurzer Zeit auch nicht sagen, wie sich das Studio so im Alltag schlägt. Aus diesem Grund, dachte ich mir ein kleines Review zu erstellen, um meiner Meinung nach wichtige Dinge, von denen mir beim Testbericht nichts bekannt zu dokumentieren.

Außerdem möchte ich hier auch auf Probleme die mir Leser meines Blogs mitgeteilt haben eingehen. Aber natürlich möchte ich auch auf die positiven Aspeckte des Notebooks eingehen.

Ich fange mal mit den negativen Dingen an:

Der schwarze Bildschirm: Weiterlesen

PHP: Unterschied $_POST, $_GET und der Sicherheitsaspekt

Wenn man effizient mit PHP programmieren möchte, kommt man nicht daran herum Daten oder Parameter an andere, oder sogar das gleiche Script zu übergeben. Nun stellt sich die Frage wie man das am besten bewerkstelligt. PHP gibt uns die Möglichkeit Daten auf mindestens zwei Arten zu übergeben: „POST“ und „GET“.

GET:

Benutzen wir „GET“, werden die zu übergebenen Daten in der Adresszeile hinter dem Verzeichnis und gefolgt von einem „?“ übergeben. Mehrere Übergabewerte werden mit einem „&“ Zeichen getrennt.

Beispiel:

http://www.martinrein.de/verzeichnis/index.php?wert1=inhalt&wert2=zahl

Die übergebenen Daten finden wir dann im globalen Array „$_GET[‚uebergabewert1‘]“ wieder und können diese abrufen und weiterverarbeiten.

POST:

Nutzen wir jedoch „POST“, werden die Daten für den Anwender (ohne weiteres) unsichtbar übertragen. Hierbei können vom Empfänger Script die Daten über das globale Array „$_GET[‚uebergabewert1‘]“ genutzt werden. Bei dieser Variante kann man direkt zwei wichtige Vorteile erkennen:

1. User können die Inhalte der übertragenen Arrayelemente (ohne weiteres) nicht manipulieren, wie es bei der „GET“ Methode möglich ist.
2. Würde man z.B. Usereingaben wie Passwort und Benutzername bei einem Login Script per „GET“ übergeben, sind diese Daten für alle die um den User herumstehen oder vorbeigehen einsehbar.

Fazit

Benutzerbezogene Daten oder Daten die stark in der inneren Funktion des Scripts gebunden sind, sollte man immer per „POST“ übertragen um Sicherheitslücken zu füllen und um wichtige Daten geheim zu halten

Generell, sollte man immer die „POST“ Methode verwenden und nur wenn es nicht anders geht, die „GET“ Methode verwenden.

Florian hat mich darauf Aufmerksam gemacht, dass natürlich nicht alle Daten per „POST“ übertragen werden sollten, z.B. Daten die für Bookmarks wichtig sind oder z.B. Daten die auf den Inhalt von einem Newsbeitrag hinweisen wie Beispielsweise der Titel der News.

PHP Backupscript für MySQL Datenbanksicherung

Jeder Webmaster kennt die Problemlage: Man lässt auf seinem Webserver die Website des eigenen Vereins laufen, administriert diese und kümmert sich um sie. Man freut sich, dass so langsam die Besucherzahlen und die Beitragszahlen im erstellten Forum und Gästebuch steigen. Es läuft gut und die Seite wird immer öfters besucht, aber an Tag X sind alle Daten aus der Datenbank weg…

Um diese Situation innerhalb von 10 Minuten bewältigen zu können, braucht der Admin eine Datenbanksicherung. Um seine Datenbank effektiv zu Sichern, sollte man min. jeden Tag einmal auf dem Backup Button drücken. Da wir ja faul sind, schreiben wir uns einfach ein PHP Script dafür und lassen die Datenbank täglich um eine bestimmte Uhrzeit per Cronjob sichern.

Somit können wir beruhigt sein, dass wir jederzeit ein Backup zu Hand zu haben, welches nicht veraltet ist und unsere Schöne Vereinsseite, kann bei jedem Gedächtnisverlust innerhalb kürzester Zeit reanimiert werden.

Mit folgendem Script, könnt ihr eure Datenbanken automatisiert sichern:

</code></code>

<?php

$db_serv = 'localhost';
$db_user= 'username';
$db_pw  = 'passwort';
$db_name        =   'dbname';

MYSQL_CONNECT($db_serv, $db_user, $db_pw) or die ( "Server nicht erreichbar!");
MYSQL_SELECT_DB($db_name) or die ( "Eine Datenbank mit diesem Namen ist nicht vorhanden!");

$path = "/data/backup_folder"; // Hier schreibt ihr das Verzeichnis rein, wo das Backup gespeichert wird.
$result = MYSQL_QUERY("SHOW TABLES"); //Tabellen ziehen
$numrow = MYSQL_NUM_ROWS($result); //Anzahl der Tabellen ermitteln
//Schleife durchführen bis alle Tabellen durchgegangen sind

for($i = 0;$i < $numrow;$i++) {
//für Jede Tabelle ein gzip Archiv mit dem Namen der Tabelle erstellen
$table = MYSQL_RESULT($result,$i);
echo "$table ... ";
system(sprintf("mysqldump --opt -h $db_serv -u $db_user -p $db_pw $db_name $table | gzip > %s/$table.sql.gz",$path));
echo "ausgefuehrt\n\n";
}

MYSQL_CLOSE();

?>

<code>

Nun braucht ihr nur noch einen Cronjob erstellen, welches dieses Script zu den gewünschten Zeiten ausführt.

Viel Spaß bei der Datenbanksicherung!