PHP + MySQL Sicherheitscheck

vom 06.07.2011, 08:05 Uhr

Bei dynamischen Webseiten, die mit PHP und einer Datenbankverbindung laufen, muss man sehr viel beachten. Da dies eine breite Angriffsmöglichkeit für Hacker bietet. Ich habe beruflich sehr viel mit PHP und MySQL zu tun. Meine selbst programmierten Scripte landen dann auch im Internet und darum müsste ich sie gegen Angriffe, wie SQL Injections, schützen.

Ich versuche meistens in meinen Formularen die POST Methode zu verwenden, damit man die übergeben Variablen nicht unbedingt direkt in der Leiste oben einsehen und vielleicht sogar verändern kann, wie es bei der GET Methode der Fall ist.

Meine Eingaben prüfe ich immer zuerst ob sie gesetzt und nicht leer sind. Wenn das der Fall ist, also eine Eingabe gemacht wurde, dann speichere ich mir die Eingaben von dem POST-Array in einzelne Variablen. Bei dem Speichern in die Variablen mache ich ein mysql_real_escape() um die Variablen, damit niemand meine Abfragen, die ich an die Datenbank schicke, verändern kann. Danach kann es weiter gehen und ich programmiere ganz normal mein Script ohne irgendwelchen weiteren Sicherheitsvorkehrungen. Reicht das aus um sich vor Angriffen zu schützen oder benötige ich noch andere Prüfungen?

Benutzeravatar

» hennessy221 » Beiträge: 5132 » Talkpoints: -1,94 » Auszeichnung für 5000 Beiträge



Nein es reicht nicht aus. Du solltest auch definitiv den Datentyp der übergebenen Daten überprüfen beziehungsweise casten. Damit sollten dann MySQL-Zugriffe relativ sicher sein. Allerdings sollten Scripte auch weitergehend abgesichert werden, zum Beispiel gegen das einschleusen von JavaScript. Formulare per "POST" zu übertragen bietet im übrigen keinen Schutz

Benutzeravatar

» Smoon » Beiträge: 440 » Talkpoints: 2,83 » Auszeichnung für 100 Beiträge


Ich hatte bisher noch kein Script, bei dem man irgendwelche Dateien übertragen konnte oder sonst irgendwas mit Dateien zu tun gehabt hat. Daher muss ich ja auch keinen Dateientyp prüfen, da es keinen gibt oder? Könntest du mir noch erklären, wie man dein Javascript in ein Script einschließen kann? Ich benutze nur sehr selten Javascript und habe damit noch nicht sonderlich Erfahrungen sammeln können.

Benutzeravatar

» hennessy221 » Beiträge: 5132 » Talkpoints: -1,94 » Auszeichnung für 5000 Beiträge



Nicht Dateityp - Datentyp ;) Also Integer, String und so weiter. JavaScript kann man beispielsweise einschleusen, wenn man HTML in Benutzereingaben zu lässt. Um solchen Code unschädlich zu machen kann man zum Beispiel die Funktionen "htmlentities()" und "strip_tags()" nutzen.

Benutzeravatar

» Smoon » Beiträge: 440 » Talkpoints: 2,83 » Auszeichnung für 100 Beiträge



Ähnliche Themen

Weitere interessante Themen

^