dedlfix: Sicherheit von PHP-scripts auf Web-Server

Beitrag lesen

Tach!

Danke für deine Antwort. Leider bin ich nicht gerade der Crack in Sachen Server-Technik, aber ich würde mich gerne zu diesem Thema einlesen, falls du Links parat hast.

Datei-Berechtigungssystem unter Unix-Systemen wäre die Anlaufstelle.

Ansonsten würde ich nur fragen wollen, wie ich z.B. für meinen MySql "Login" meine Passwörter bzw. Einlogdaten in das PHP-Script unterbringen soll. Momentan sind diese nämlich in Klarschrift (sagt man das so?) in dem Script lesbar.

Anders gehts auch nicht. Du brauchst die Passwörter im Klartext. Sie verschlüsselt abzulegen bedeutet, dass das Script an den Schlüssel herankommen muss, und das kann dann auch jeder andere, der bei dir Dateien lesen kann. Die einzige Möglichkeit ist, die Rechte so restriktiv wie möglich zu vergeben. Der Account, unter dem deine Scripts ausgeführt werden, muss die Dateien lesen können, alle anderen nicht.

Ich denke nun, wenn ich die Passwörter verschlüsselt in das Script eingebe z.B. per md5, dann muss ich diese ja auch vor dem Versenden an den Server ja wieder entschlüsseln, also gelangen die Daten wieder unverschlüsselt ins Netz.

MD5 ist keine Verschlüsslung sondern ein Hash-Verfahren. Diese sind nicht umkehrbar (aber mit Brute-Force und Rainbow-Tabellen angreifbar).

Vielleicht für mich zum Verständnis nocheinmal:: Die Scripte liegen ja auf dem Server. Sende ich nun eine Anfrage über meinen Browser auf dieses Script gelangt dann eigentlich überhaupt was von dem Script nach außen ins Netz oder nur das was das Script zurück an den Browser sendet.

Nur die Antwort. Oder der Inhalt des Scripts bei einer Fehlkonfiguration des Servers. Etwas mehr Sicherheit ist gegeben, wenn du das Script außerhalb des DocumentRoot ablegst. Üblicherwiese bekommst du bei 1&1 eine Inklusiv-Domain s-und-ziffernfolge.irgendwas und deine Domains. Alle zeigen erst einmal in die Wurzel deines Kundenverzeichnisses, womit dann alles im Web erreichbar ist. Lediglich Zugriffsverbote in .htaccess-Dateien sind vorhanden, so man sie nicht löscht. Wenn du für all diese (inklusive der s-domain) ein Unterverzeichnis erstellst, ist nun deine Kundenverzeichniswurzel nicht mehr übers Web erreichbar. Damit hast du nun einen Platz, der auch ohne .htaccess-Verbot nicht übers Web abfragbar ist. Scripts können weiterhin darauf zugreifen, die hangeln sich übers Dateisystem mit .. dorthin.

In diesem Fall... :: ...Gibt es kein Problem für den MySql "Login". Sondern nur für Daten die per HTML-Formular an ein PHP-Script gesendet werden. Wie kann ich dann aber "in HTML" verschlüsseln, damit 0 Daten unverschlüsselt ins Netz gelangen?

Mit HTTPS. Das braucht ein von einem der vielen Zertifikatshändler ausgestelltes Zertifikat, damit die Browser nicht jammern. Das ist üblicherweise zusätzlich zu erwerben. Vielleicht ist auch ein in deinem Paket inklusive.

Puh, ich hoffe ich mach nicht zu viele Umstände, aber wäre echt toll. Im Prinzip möchte ich nur eine Möglichkeit haben, dass nur ich auf eine bestimmte Seite meiner Website gelange, damit nur ich von dort aus Eintragungen in meine Datenbank vornehmen kann.

Dafür reicht eigentlich auch schon HTTPS mit einem selbstsignierten Zertifikat, das du deinem Browser als vertrauenswürdig bekanntgibst. Ob du ein solches bei 1&1 installieren kannst, weiß ich aber nicht.

dedlfix.