27.3 Tipps zu Sicherheitsproblemen 

Es gibt noch eine Menge weiterer Sicherheitsprobleme, die Sie auf den ersten Blick gar nicht als solche erkennen können. Schließlich haben Sie keine Garantie, dass Ihr Programm vor allen Problemen geschützt ist, wenn Sie auf sichere Funktionen zurückgreifen.
Zum Abschluss des Kapitels folgt hier noch ein kleiner Leitfaden zum Thema Sicherheit. Wenn Sie diese Punkte beherzigen, sollten sich Sicherheitsprobleme auf ein Minimum reduzieren lassen.
- Vermeiden Sie Funktionen, die keine Längenprüfung der Ein- bzw. Ausgabe vornehmen (strcpy(), sprintf(), vsprintf(), scanf(), gets(), ).
- Verwenden Sie bei Funktionen, die eine formatierte Eingabe erwarten (etwa scanf()) eine Größenangabe (etwa %10s, %4d).
- Ersetzen Sie gegebenenfalls unsichere Funktionen durch selbst geschriebene (z. B. gets() durch mygets() ).
- Überprüfen Sie die Eingabe von der Tastatur auf zulässige Größe. Verlassen Sie sich nicht darauf, dass der Anwender schon das Richtige eingeben wird.
- Verwenden Sie die exec-Funktionen und system() nur mit konstanten Strings. Lassen Sie niemals den Anwender selbst einen String zusammenbasteln.
- Vergessen Sie bei der Funktion strlen() nicht, dass diese Funktion alle Zeichen ohne das Terminierungszeichen zählt. Beim Reservieren von Speicher müssen Sie dies berücksichtigen.
- Und der Klassiker: Die Anzahl der Elemente in einem Array und die Adressierung über den Index beginnt bei 0.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.