dedlfix: session-lifetime in php.ini

Beitrag lesen

Hi!

So sollte es funktionieren ja.

Jein. Das Ändern der Zeiten allein reicht nicht, wenn kein separater session.save_path verwendet wird, sonst räumen anders initialisierte GCs die Session trotzdem weg. Wenn man das nicht beachtet, hat die schwer nachvollziehbaren Effekte, dass Sessions manchmal vorzeitig ablaufen.

mysql_connect("localhost","root") or die ("Keine Verbindung");
Kleiner Tip noch am Rande: Es ist nicht unbedingt empfehlenswert den Root-User für Datenbank-Zugriffe von Webseiten aus zu nutzen. Besonders wenn mehrere Datenbanken auf dem MySql-Server laufen hat der root-User auf alle Zugriff.

Auch ist or die() keine zu empfehlende Fehler"behandlung". Die Ausgabe erfolgt an den Anwender, der damit weder was anfangen kann noch soll, besonders wenn die Ausgabe noch mit dem mysql_error()-Text versehen wird.

In der Praxis bedeutet das, sollte jemand einen Angriffsvektor für eine SQL-Injection finden, kann er Dir sämtliche Datenbanken Platt machen.

Jein. Solche Maximalschäden sind mit SQL-Injection üblicherweise und unter MySQL nicht möglich. Die Stellen an denen SQL-Injection greift sind meist nach der einleitenden Statement-Klausel (SELECT ..., DELETE ..., etc.) eingebaut, so dass das Statement maximal ergänzt und erweitert werden kann. Ein Anhängen von ;DROP... erfordert, dass der PHP-Programmierer mysqli_multi_query() verwendet hat.

Natürlich sollte im normalfall garkeine SQL-Injection möglich sein. Aber lieber vorbeugen als sich auf die Füsse kotz** ;)

Es geht dabei auch eher um Lücken, die der Anwendungsprogrammierer üblicherweise nicht direkt beeinflussen kann, weil sie im MySQL-Server selbst enthalten sind. Um Statements zu erweitern, reicht eine eingeschränkte Kennung, weil man mit der ja sowieso das eigentlich vorgesehene Statement abarbeiten können muss.

Lo!