Hey leute ich verzweifel langsam.
Ich habe angefangen mein (teils veraltetes) grundgerüst meiner page neu auszuarbeiten.
Jetzt stehe ich vor der netten aufgabe einen filter zu basteln der mir alle html,css und js codes aus den get vars holt. (klingt ja logisch oder ??)
Nun habe ich mir folgendes überlegt gehabt:
<span class="syntaxdefault"><br /></span><span class="syntaxcomment">//aus allen get vars ein array machen (simpel weil foreach als filterschleife genutzt werden kann)<br /></span><span class="syntaxdefault">$geta </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> array_merge</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> <br /><br /></span><span class="syntaxcomment">//schleife zum durchlaufen der funktionen zum filtern<br /></span><span class="syntaxdefault"> foreach </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$geta as $getavar</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault"> </span><span class="syntaxcomment">//$geta = addslashes($getavar);<- ergibt nur string ausgabe (immer den letzten im get array) und kein array bei mehreren datensätzen die daten bleiben unverändert<br /></span><span class="syntaxdefault"> </span><span class="syntaxcomment">//$geta = htmlspecialchars($getavar);<- ergibt nur string ausgabe (immer den letzten im get array) und kein array bei mehreren datensätzen die daten bleiben unverändert<br /></span><span class="syntaxdefault"> </span><span class="syntaxcomment">//$geta = htmlentities($getavar);<- ergibt nur string ausgabe (immer den letzten im get array) und kein array bei mehreren datensätzen die daten bleiben unverändert<br /></span><span class="syntaxdefault"> </span><span class="syntaxcomment">//$geta = strip_tags($getavar);<- ergibt nur string ausgabe (immer den letzten im get array) und kein array bei mehreren datensätzen die daten bleiben unverändert<br /></span><span class="syntaxdefault"> $geta </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> str_replace</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'<'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'<'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$geta</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span><span class="syntaxcomment">#<- funktioniert seltsamerweise<br /></span><span class="syntaxdefault"> $geta </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> str_replace</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'>'</span><span class="syntaxkeyword">,</span><span class="syntaxstring">'>'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$geta</span><span class="syntaxkeyword">);</span><span class="syntaxdefault"> </span><span class="syntaxcomment">#<- ^^ dito wie darüber<br /></span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> </span>
die ausgabe: (bei den auskommentierten funktionen) {übergebene vars *testweise*}=>http://127.0.0.1/test.php?p=<a href="">&go=page
Die ausgabe wenn ich die funktionen auskommentiere und nur die str_replace zeilen nutze:
Kann mir mal jemand sagen was ich da falsch mach ich würd ungern für jedes zeichen das ich haben will ne neue regel schreiben!
(ja ich weiß ich könnte auch preg_ und arrays nutzen aber da müsst ich es ja auch schreiben !)
Edit1*
Ich sollte wohl anmerken das ich die funktionen nur teste und nicht so verwenden würde wie sie da stehen !! weil htmlentities und strip_tags in ein und der selben funktion eig schwachsinn sind !
Für eventuelle ideen wäre ich dankbar...
LG
R4Zz0R