Hallo
wie kann man am besten seine eigene Seite vor einem Hack schützen.
Bei SQL mache ich bereits überall real_escape_string, aber wie sieht es bei PHP aus, wenn zum Beispiel der User eine Suchmaske hat, und die Variable dann an das PHP Skript übergeben wird.
Führe nichts aus, was deinem Skript übergeben wird. Alles, was über ein Formular hereinkommt, ist Text, also erstmal ungefährlich. Soll die Eingabe gespeichert werden, behandle sie, wie du es tust, dem Kontext der Speicherart entsprechend. Sollen die eingegebenen Daten ausgegeben werden, behandle sie nach dem zutreffenden Kontext. Ausgaben in HTML z.B. sind mit htmlspecialchars
zu behandeln. Und das grundsätzlich. Lies dazu bitte den Artikel zum Kontextwechsel.
Ob die eingegebenen Daten überhaupt deinen Erwartungen entsprechen, musst du natürlich nach deren Übergabe an das Skript in diesem prüfen. Du kannst z.B. überprüfen, ob ein Eingabewert eine Zahl ist [1] oder ein Wert aus einer Optionsliste gültig ist oder eine Zeichenkette eine bestimmte Länge hat/nicht übersteigt, was auch immer.
Tschö, Auge
Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
Wolfgang Schneidewind *prust*
Beachte bitte an dieser Stelle,as alles eine Zahl ist. ↩︎