je ein Frage zu PHP und HTML
Grobie
- html
0 wahsaga0 MudGuard0 Thomas Luethi
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.
1. 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?
2. ich habe ein Blockelement <div> und habe innerhalb dieses elemnts noch 2 blockelemente <div>. diese habe ich mittels css und float:right/float:left ausgerichtet. opera und IE in den aktuellen versionen zumindest stellen dies korrekt dar. Mozilla und netscape in den neuesten versionen stellen die beiden inneren elemente unter dem äußeren dar. obowhl das schließende tag </div> erst dahinter geschlossen wird. komme ich so irgendwie ans ziel? oder muss ich eine unsichtbare tabelle nehmen? aber es müsste doch theoretisch so gehen. habe auch das ganze auch schon mit <p> und <span> und in kombinationen dieser 3 versucht.
Ich danke für Hilfe.
Grobie
hi,
- 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?
ja.
ohne < und > keine tags, ohne tags kein html.
schöner ist es allerdings u.U., wenn du eingegebenen html-code als _text_ anzeigen lässt. dazu wandelst du einfach die sitzen klammern in < und > um.
htmlspecialchars() und htmlentities() können dir dabei helfen.
gruss,
wahsaga
Hi,
- 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?
striptags oder aber htmlentities hätten sich angeboten...
- ich habe ein Blockelement <div> und habe innerhalb dieses elemnts noch 2 blockelemente <div>. diese habe ich mittels css und float:right/float:left ausgerichtet. opera und IE in den aktuellen versionen zumindest stellen dies korrekt dar.
Falsch, sie stellen es fehlerhaft dar (nur weil sie es so darstellen, wie Du es gerne hättest, ist es noch lange nicht richtig).
float bewirkt, daß die Elemente nicht im normalen Fluß liegen, also haben sie auch keine Auswirkung auf die Größe des umgebenden Elements.
komme ich so irgendwie ans ziel? oder muss ich eine unsichtbare tabelle nehmen?
Ein <br style="clear:both;"> nach den beiden float-divs sollte ausreichen.
cu,
Andreas
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
Hallo,
Sorry:
Lies: </faq/#Q-06> insbesondere </faq/#Q-06c>
mfg
Thomas