PHP Sicherheitslücken

  • Hallo.

    Stehe kurz vor der Veröffentlichung meiner Seite. Im Code habe ich folgende Dinge beachtet:

    keine remote code execution
    nur prepared statements - injection vermeiden
    user input so validiert das kein XSS/injection möglich ist.

    Was sollte ich noch beachten?
    gibts noch tricks? oder gute websites?
    bitte nicht sagen: "google danach", denn da hab ich nur diese 3 punkte gefunden. aber vermute mal, dass es noch mehr gibt und die 3 dinge nur am häufigsten sind!

    lg

  • Wenn du Ajax verwendest, solltest du auch dort die Daten einer Validierung unterziehen. Ich verwende noch eine htaccess wo ich fast alle Bots ausser den grossen Suchmaschinen, und anhand des Useragenten erkannt, vom crawlen der Inhalte fernhalte. Die bekommen dann die Seite 404 vorgesetzt. Damit gibt man zumindest den verbreiteten Bots erst mal keine Chance nach Sicherheitslücken die Seiten zu durchleuchten, jedoch ist auch das kein 100-%iger Schutz, da man ja auch den UA auf MSIE oder FF verändern kann.

  • Sensible Daten (z.B. DB-Zugangsdaten) außerhalb des Web-Roots liegen haben. Optimalerweise ist die einzige php-Datei die im/unterhalb des Web-Roots liegt die bootstrap/index.php.

    Das sämtliche Validierungen von User-Eingaben IMMER serverseitig stattfinden müssen sollte selbstverständlich sein. Clientseitige Überprüfungen sind immer nur ein netter Zusatz, dürfen aber NIEMALS serverseitige Validierungen ersetzen.

    Auch Sicherheitsaspekte beim Session-Handling sollten berücksichtigt werden:
    http://phpforum.de/forum/showthread.php?t=216531

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook