Wie sicher PHP programmieren? Worauf achten?

28.04.2004, 19:59
Member
Avatar Tille

Beiträge: 451
#1 allo,

da ich gerade damit anfange PHP zu programmieren, und man natürlich sofort hört, an sicherheit denken worauf muss ich da achten?

- wo liegen gefährliche Anfängerfehler
- wie programmiert man von Grund auf sicher?

habt ihr Tipps?
Anleitungen?

Gruß
Tille
__________
Anonymität im Internet ist, wenn Du keinen kennst, aber alle Dich.
Seitenanfang Seitenende
28.04.2004, 20:16
Member
Avatar Laserpointa

Beiträge: 2176
#2 Generell und kurz gefasst:
Bei dynamischen PHP WebSeiten werden die Inhalte durch Abfragen und Empfangen von Werten generiert. Grundsätzlich muss man alle Werte, die an ein Script (z.B: Formulardaten) überprüfen lassen, ob da nicht ein Hacker Code eingebaut hat der unerwünschte Formulardaten generiert.
Eine Sache die neben den ganzen MySQL Injection, Cross Site Scripting etc. Bugs oft vergessen wird ist die Überlastung von aufwendigen PHP Scripten durch DOS (denial of service) Attacken wo dann komplizierte Sache wie Database race condition etc. auftreten.

Sicheres PHP-Programmieren für Einsteiger
http://www.oreilly.de/artikel/php_sicherheit.html
https://wwwbs1.informatik.htw-dresden.de/fprdipl/proj-sec/multrus/phpsicherheit.html

weiteres offizielles Manual
http://www.php.net/manual/de/security.php

sehr interessant und in englisch:
http://www.webkreator.com/php/concepts/php-security.html
http://www.phpadvisory.com/ sehr sehr gut!! - hier sind diverse Sache wie XSS etc. erklärt.
http://www.securityfocus.com/printable/infocus/1706 - Securing PHP Step-by-Step

und nicht zu vergessen (engl)
Securing PHP: Step-by-step

mein Tipp: register_globals = Off in der PHP.ini ist sehr effektiv, da man sich jedesmal bewusst machen muss, wenn man eine Variable freigibt - so hat das Lukas hier beim Board glaube ich auch.

Zitat

# Filtern und Validieren externer Daten durch
* htmlspecialchars()
* strip_tags()
* urlencode()
* intval() & addslashes()
* mysql_escape_string()
# Initialisierung von Variablen
# Error-Reporting E_ALL in der Entwicklung

mehr dazu auch: http://de2.php.net/manual/de/security.php
Greetz Lp

Anhang: phpsec.pdf
Dieser Beitrag wurde am 30.07.2006 um 11:33 Uhr von Laserpointa editiert.
Seitenanfang Seitenende
29.04.2004, 10:47
Member
Avatar Spike20

Beiträge: 504
#3 In der c't 9/04 ist ein Bericht zu diesem Thema....

Gruß Spike
__________
Wenn wir bedenken, dass wir alle verrückt sind, ist das Leben erklärt.
(Mark Twain)
Seitenanfang Seitenende
11.11.2004, 12:14
Timothy
zu Gast
#4 und natürlich auch Server absichern und Apache sicher konfigurieren:
http://www.hardened-php.net/

Timothy
Seitenanfang Seitenende
25.01.2006, 13:42
Administrator
Avatar Lukas

Beiträge: 1743
#5 sehr gute Grundlagen mit einfachen Beispielen, was passiert wenn dazu finden sich hier: http://www.sitepoint.com/print/php-security-blunders

^ hier wird eigentlich auf alles wesentliche eingegangen:
- undefinierte Variablen
- Cross Site Scripting
- SQL Injection
- etc.

wer die Regeln in der Anleitung beachtet ist schon ziemlich sicher!
Ansonsten lautet der Grundsatz: Traue niemals Daten, die von außen kommen.

grossartige Anleitung, vieleicht übersetzt die ja mal jemand! :yo

sowie:
http://phpsec.org/projects/guide/
__________
Gruß Lukas :yo
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: