Hallo,
ich habe 2 Fragen, und hoffe, dass ihr mir weiterhelfen könnt. ich weiß, die 2. hatte ich schon gestern so ungefähr gestellt, aber das ist jetzt so weit unten.
Kein Grund zum Draengeln.
Der Titel Deines Postings ist ungluecklich gewaehlt,
und es ist schlecht, Fragen zu zwei verschiedenen
Themenbereichen in einem Posting zu mixen.
Lies: <faq/#Q-06> insbesondere <faq/#Q-06c>
- Ich habe mir ein Gästebuch in PHP geschrieben. damit kein html oder php code ausgeführt werden darf, habe ich mit regulären ausdrücken die zeichen "<" und ">" verboten. ist das ausreichend?
Im Prinzip ja.
htmlentities() oder htmlspecialchars() und evtl. strip_tags()
waeren IMHO aber sinnvoller.
Denk daran, _alle_ Felder so zu behandeln, nicht
nur das Textfeld mit der Nachricht!
(Ganz fies ist es z.B., einen Kommentar anzufangen, aber
nicht zu beenden: <!-- )
Auch JavaScript solltest Du ausfiltern.
Wenn Du z.B. ein Feld "URL" hast, solltest Du dort
z.B. auch " und ' ausfiltern.
Wenn ich sonst eingebe:
http://www.example.com" onclick="boese JavaScript Codes
wird das bei Dir zu
<a href="http://www.example.com" onclick="boese JavaScript Codes">
Lies unbedingt auch:
dclp-FAQ: Sicheres Programmieren in PHP
http://www.dclp-faq.de/ch/ch-security.html
insbesondere
Prüfe importierte Parameter. Traue niemandem
http://www.dclp-faq.de/q/q-sicherheit-parameter.html
Gruesse,
Thomas