Sönke Tesch: unexpected error in date()

Beitrag lesen

»»Du mußt dann allerdings 100%ig sicherstellen, daß in dem Quelldaten kein Murks steht, wobei diese Sicherung allerdings wegen der detailieren Fehlermeldung ("Dieser Monat hat keine 50 Tage") manuell sogar günstiger ist, als wenn mktime() ungefragt die Eingabe korrigiert.

Dem User steht für die Datumswahl je ein Select für (Tag),(Monat) und (Jahr) zur Verfügung so ist die Angabe ( 50 ) ausgeschlossen.

Das ist ein Anfang, reicht aber nicht. Dein Formular kann noch so ausgefeilt sein, sobald jemand die POST-Anfrage selbst zusammenstellt (was beleibe alles andere als schwierig ist), ist Dein HTML-Formular inklusive <select>-Feldern und/oder Javascript-Prüfung vollkommen irrelevant.

Prüfe von der bösen Welt da draußen empfangene Daten _immer_ dort, wo Du ganz sicher sein kannst, daß niemand mehr dazwischen funken kann! So eine Prüfung zu Deiner eigenen Sicherheit kann nur in Deinem PHP-Skript stattfinden, alle anderen "Barrieren" sind lediglich Komfort für die Benutzer.

Gruß,
  soenk.e