Newsletter

  • Immer informiert über die neusten Trends, Webseiten und Tutorials! Einfach hier für den monatlichen Newsletter anmelden.
  •  Eintragen
  •  Austragen

Login

Umfrage

  • Haben Sie Interesse an Softwaretipps für Webmaster?
  •  
  • ja
  • nein
  •  


Linktipps

Anzeige

 

www.finanzcheck.de
» Startseite » PHP und MySQL Tutorials

Unter dem Web 2.0 – Aspekt ist PHP eine sehr interaktive Scriptsprache, was bei einer Einbeziehung von Usern auch zu Sicherheitsproblemen führen kann. Gerade wenn Code hinzugefügt wird, ist dies eine Problematik, deswegen ist das sichere Programmieren (”Scripten”) unter PHP ein sehr wichtiger Aspekt bei der Realisierung eines Projekts.

1. Strings

Strings sollten vor der Ausgabe immer in schadfreien Code umgewandelt werden. Das funktioniert beispielsweise durch die Funktion “htmlspecialchars()“, diese ersetzt die Dreiecksklammern “<, >”, so wie Anführungszeichen.

2. Formulare

Formulare sind im Grunde der Anfang allen Übels, aus diesem Grund muss die Eingabe immer strikt validiert werden. Einmal wie unter 1. String beschrieben, aber auch bei der Weitergabe der Dateien. Statt “GET”, sollte also immer “POST” verwendet werden, es sei denn, man muss den Wert in jedem Fall ausgeben. Dann lohnt sich aber beispielsweise eine Veränderung durch .htaccess.

3. Verschlüsselung

Passwörter und andere wichtige Daten sollten in jedem Fall verschlüsselt werden. Hierzu kann man sich eine eigene Array-Verschlüsselung schreiben, in dem man jeden Buchstaben durch einen anderen ersetzt, oder Funktionen wie md5() verwendet, die zwar bereits geknackt wurden, aber bisher nur via Bruteforce zu hacken sind.

Es gibt keine 100%ig sichere Verschlüsselung. Selbst Millionenprojekte wie Nagravision wurden von eifrigen Leuten aufgedeckt, zum Leide der Medienindustrie.

4. Global Settings

Via PHP lassen sich die Global Settings ein- und ausschalten. Es ist sehr empfohlen, diese auszuschalten. Sind diese hingegen an, so kann man Variablen aus dem Code auslesen, bzw. andere hinzufügen. Das bedeutet, dass es möglich wäre fremden Code als Zusatz ein zu fügen.

5. Dateiupload

Lässt man dem User die Möglichkeiten Dateien hochzuladen, so muss gewährleistet werden, dass diese Dateien nicht auf das restliche System anwendbar sind. Das funktioniert beispielsweise in dem man nur bestimte Dateien erlaubt. Das Problem ist, dass jemand beispielsweise eine PHP-Datei hochladen könnte und sie dann extern aufrufen könnte, das würde dazu führen, dass jene Datei auf das restliche System eingreifen könnte.

6. Dateien

Dateien, die nicht serverseitig geschützt sind, sollten in erster Linie natürlich nicht mit wichtigen Informationen bestückt sein, doch auch diese sollten vor einem Download geschützt sein. Beispielsweise durch .htaccess-Passwortschutz oder durch Hash-Werten, die man ebenfalls mit Funktionen wie md5() erstellen könnte.

Fazit:

Es gibt immer Schreckensszenarien und eine 100%ige Sicherheit wird es niemals geben können. Man sollte dennoch eine hohe Priorität setzen um mögliche Schwachstellen schon im Ansatz zu schließen.



Fragen? Probleme? Keine Antworten? Hilfe finden Sie im Webmaster Forum!

Diese Artikel könnten Sie auch interessieren:
Reguläre Ausdrücke
Unterschiedlicher Footer auf verschiedenen Seiten
String nach Wortende trennen
Alternative Syntax für Kontroll-Strukturen
Was ist PHP?


 
Anzeige