kostenloser Webspace werbefrei: lima-city


Wie sicher ist das?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    snoo3

    Kostenloser Webspace von snoo3

    snoo3 hat kostenlosen Webspace.

    Hi
    Ich arbeite grad an einem neuen Projekt. Das dabei die Sicherheit nicht zu kurz kommen darf ist glaube ich selbstverständlich, deshalb habe ich in den letzten Tagen viel über Sicherheit bei PHP nachgelesen. Leider bin ich dabei noch nicht so erfahren und weiss nun nicht ob ich alles richtig verstanden habe. Deshalb frage ich nun euch Experten und hoffe auf ein bischen Unterstützung zu dem Thema

    Hier mal mein "Sicherheitskonzept" (wenn man das so nennen kann) :shy:
    Register Globals habe ich bei meinem Provider ausgeschaltet. Muss ich dazu noch etwas beachten oder ist das so sicher? Also muss ich die Variablen trozdem noch initialisieren oder so?

    Schutz vor Cross Site Scripting + SQL Injections:
    Usereingaben wenn möglich prüfen z.B is_numeric() oder mit hilfe von Regex. Sonstige Eingaben mit htmlentities() bearbeiten.
    Bei sql_querys zuerst stripslashes(), da magic_quotes_gpc auf on ist und dann mysql_real_escape_string(). Ist das so in Ordnung oder habe ich irgendwas übersehen, habt ihr mir vieleicht noch ein paar zusätzliche Tipps oder so?

    Zudem habe ich gelesen, dass ab PHP 6 der safe_mod nicht mehr existiert. Ich möchten den jetzt schon ausschalten, was muss ich dabei beachten in punkto Sicherheit? Habt ihr mir dazu vieleicht einen Link oder eine kurze Erklärung?

    Besten Dank und liebe Grüsse
    Snoo3 :thumb:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Wenn du das wirklich bei allem machst (Cookies, Sessions, POST, GET, ...), dann ist das schon so sicher!
    Der Safe-Mode ist eigentlich nur dazu da, dass unsichere Funktionen (exec, system, ...) gesperrt sind.

    LG cookies
  4. Also 100%ige Sicherheit wird es niemals geben.
    PHP an sich ist normal schon richtig sicher, aber wenn du auf nummer sicher gehen willst guck auf der Entwicklungs-Seite von PHP.
    Hier sollte alles stehen, was man an der Sicherheit in PHP verbessern kann.
  5. Hier nochmal ein paar wichtige PHP-Einstellungen:

    register_globals = off
    allow_url_fopen = off (falls file_get_contents, fopen von URLs auf anderen Servern, ... nicht gebraucht)
    open_basedir = /home/usw/ordner/www-ordner (PHP kann nur auf Dateien in diesem Ordner zugreifen)
    display_errors = off (nur zur Entwicklung eines Scripts lokal auf on setzen, erschwert Vorbereitung eines Angriffs)
    magic_quotes_gpc = on (' => \' " => \")
    disable_functions = exec, system, passthru, ... (gesperrte, sicherheitsrelevante Funktionen)

    Das solltest du auf jeden Fall, wenn möglich in der php.ini oder per ini_set() einstellen.

    LG cookies
  6. Autor dieses Themas

    snoo3

    Kostenloser Webspace von snoo3

    snoo3 hat kostenlosen Webspace.

    Hi
    Ja danke das hilft mir weiter :thumb:
    Wobei magic_quotes_gpc ab PHP 6 nicht mehr existieren wird. Deshalb könnte man es doch schon jetzt ausschalten und muss dafür einfach mit diesen Variablen vorsichtiger sein.
  7. snoo3 schrieb:
    Hi
    Ja danke das hilft mir weiter :thumb:
    Wobei magic_quotes_gpc ab PHP 6 nicht mehr existieren wird. Deshalb könnte man es doch schon jetzt ausschalten und muss dafür einfach mit diesen Variablen vorsichtiger sein.


    Wenn du PHP 6 installierst musst du PHP sowieso neu konfigurieren. Man könnte auch register_globals an lassen, weil es das vielleicht ab PHP 10 nicht mehr gibt. Also ich würde erstmal magic_quotes anlassen oder alle Variablen mit addslashes() zu behandeln.

    LG cookies
  8. benutzt du auch SSL?
    Das würde die Übertragung sicherer machen
  9. @cookies: An dieser Stelle nur ein Tipp... normalerweise versucht man gerade die magic_quotes ab zu schalten und alle Maskierungen selbst durch zu führen. Die Entfernung der magic_quotes in PHP 6 ist ja nicht nur aus Spaß, sondern weil sich eben erwiesen hat, dass diese inpraktikabel sind. Um wirklich sicher zu gehen macht man sich einfach eine eigene Funktion escape() in der man prüft, ob magic_quotes an sind. Wenn ja, dann stripslashes und dann maskieren, wenn nein sofort maskieren. Das führt dazu, dass man das Script auch auf einen Server umziehen kann, wo die magic_quotes Konfiguration anders ist.

    Eine weitere Methode Datenbankanfragen sicherer zu machen ist die Nutzung von PDO oder mysqli (ersteres besser :D) in Verbindung mit prepared-Queries. Sollte man aber nur bei mehrfach genutzten Queries machen, da es sonsten einen Speed-Decrease gibt.
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!