Hi,
Warum ist das ein Sicherheitsrisiko?
das wurde bereits multipel diskursiert.
Wenn register_globals ausgeschaltet ist ist auch dieses Risiko ausgeschaltet, also keine Schwäche von PHP mehr, oder?
Die Schwäche ist es, dass dieser Wert überhaupt auf TRUE gesetzt werden kann bzw. sehr häufig ist.
Verwende grundsätzlich die assoziativen Arrays $_GET und $_POST, um auf Parameter zuzugreifen.
Das ist mir auch klar, sehr klar sogar.
Das freut mich zu hören.
Aber das war ein Test, udn bei Tests muß ich nicht ubedingt auf jede kleinigkeit achten, es ging ums prinzip und wieso sollte ich das unnötig verkomplizieren?
Nun ja, mit sicherheitsrelevanten Dingen ist nun mal nicht zu spaßen - und auch die testweise Benutzung von Sicherheitslöchern[1] lässt auf eine mangelhafte Gewöhnung an die Vermeidung derselben schließen und ist somit eine Bemerkung wert.
[1] Vorausgesetzt natürlich, es sind nicht die Löcher selbst, die man austesten möchte.
Verwende niemals die magisch generierten Variablen.
was meinst Du genau mit "magisch generiert"?
Auf magischem, also nicht direkt nachvollziehbarem Wege. Hier betrifft es insbesondere die Tatsache, dass Variablen semantisch gleichen Namens aus unterschiedlichen Quellen kommen können.
Mit anderen Worten mit PHP kann ich grafische Schaltflächen vergessen?
Nein, die PHP-Entwickler haben an solche Fälle gedacht. Das Problem erübrigt sich aber, sowie Du konsequent $_GET und $_POST verwendest.
Irgendwie muß das doch gehen, andere machen das ja auch!
Übrigens ist es sehr häufig überhaupt nicht nötig nachzusehen, ob ein Submit-Button geklickt wurde.
Leider kann ich nicht so ohne weiteres in fremden PGP-Code schnüffeln, wie bei Javascript oder html :-(
Dazu würde ich eigentlich nicht "leider" sagen :-) Vor allem aber kannst Du in $_GET schnüffeln.
Cheatah