Avatar billede webcreator Nybegynder
04. juli 2003 - 19:39 Der er 22 kommentarer og
1 løsning

ereg godtager piletegn (hvilket muliggør HTML)

Hej.

Jeg har et input-felt. Her vil jeg ikke acceptere HTML. Derfor har jeg flg. kode :
if (ereg("^[<>]+$",$besk)) {

Hvis jeg blot skriver < eller >, så får jeg et "fy fy". Men hvis jeg skriver fx. <font size.. osv osv></font>, så er der ingen problemer.

Har jeg lavet ereg'en forkert ?
Avatar billede erikjacobsen Ekspert
04. juli 2003 - 19:41 #1
Hvad med at acceptere dem, men neutralisere dem:

  print htmlentities($dintekst);
Avatar billede webcreator Nybegynder
04. juli 2003 - 19:41 #2
Nej, duer ikke. For jeg bruger selv HTML koden andet steds.
Avatar billede webcreator Nybegynder
04. juli 2003 - 19:42 #3
Kan bare ikke forstå hvorfor det ikke virker. Man skulle jo netop kunne kigge imellem tegnene med ereg, og finde frem til de ulovlige.
Avatar billede erikjacobsen Ekspert
04. juli 2003 - 19:43 #4
Du skal blot skelne mellem "deres" tekst og "din" tekst.
Avatar billede erikjacobsen Ekspert
04. juli 2003 - 19:44 #5
det er unødvendigt,  brugerfjendsk, osv. at lave om i, eller ikke acceptere
den tekst brugeren skriver. Men ok, et korrekt eksempel

  if (ereg("<|>",$besk)) { ....fyfy  }
Avatar billede webcreator Nybegynder
04. juli 2003 - 19:44 #6
Ved jeg. Men jeg er også interesseret i at lære noget :-)
Derfor ville jeg gerne vide, hvad jeg har gjort forkert.
Avatar billede fangel Nybegynder
04. juli 2003 - 19:45 #7
hvad med

ereg("(<|>)+", $str)

søger på et eller flere "<" eller ">" er... ;)

---

ellers kan du lige kigge på strip_tags funktionen...

Morten
Avatar billede fangel Nybegynder
04. juli 2003 - 19:46 #8
hov, som erik skriver, så kan parentesen og +-et undværes...
Avatar billede webcreator Nybegynder
04. juli 2003 - 19:48 #9
Erik > Tak for det. Tror jeg vil læse lidt op på ereg funktionen. Er jo yderst nyttig :-)

brugerfjendsk ? Heh, stærkt ord. Men jo, det kan virke irriterende, ikke at have alle tegn til sin rådighed.

Smider du et svar ?

Dea > Tak for dit bidrag, men bruger Eriks.
Avatar billede erikjacobsen Ekspert
04. juli 2003 - 19:50 #10
Ja, hvorfor bliver jeg skældt ud for at skrive:

Og iøvrigt mener jeg at 5 < 7

Nej, tak. Det regulære udtryk får du gratis. Jeg synes det er synd for dine brugere.
Avatar billede fangel Nybegynder
04. juli 2003 - 19:50 #11
hvis du vil læse lidt om regexp, så læs denne: http://phpbuilder.net/columns/dario19990616.php3

og så lidt ;)

Morten
Avatar billede fangel Nybegynder
04. juli 2003 - 19:52 #12
Avatar billede webcreator Nybegynder
04. juli 2003 - 19:52 #13
Erik > Jamen tak da. Vil sørge for, at lave en bedre version snarest - for du har helt ret.

Tak, dea :-)
Avatar billede webcreator Nybegynder
04. juli 2003 - 19:53 #14
Dea > Smid du et svar? Så kan du få lidt for ulejligheden.
Avatar billede fangel Nybegynder
04. juli 2003 - 19:54 #15
ok da... ;)
Avatar billede erikjacobsen Ekspert
04. juli 2003 - 19:55 #16
Den bedre version får du med htmlentities. Det er så nemt.
Avatar billede webcreator Nybegynder
04. juli 2003 - 19:56 #17
Erik > Yep. Bruger den også normalt. Men her skal jeg hen og lave en del kode om, for at få det til at virke optimalt.. Og det omtalte script har pt. andenpriotet.
Avatar billede fangel Nybegynder
04. juli 2003 - 19:57 #18
holder på strip_tags ;)
Avatar billede erikjacobsen Ekspert
04. juli 2003 - 20:00 #19
strip_tags? Der er da ingen grund til at lave om i det brugeren skriver? Det
forstår jeg altså ikke der skal bruges så meget energi på, når det er
nemmere at lave være.
Avatar billede fangel Nybegynder
04. juli 2003 - 20:04 #20
til fx et forum omkring kærlighed (dårligt ex, men bare forstå pointen) er det meget få der fx vil skrive

<script language="JavaScript" type="text/javascript">window.alert('jeg, xxx, er den bedste!');</script>

derfor kan der være en grund til at fjerne tags... ;) (slf ville det være bedre met noget der fjernede alt mellem fx "script" og "/script",)

Morten
Avatar billede erikjacobsen Ekspert
04. juli 2003 - 20:13 #21
Det skriver de nok ikke, men de kunne skrive en smiley, som, mnjah, jeg
er ikke så meget inde i det, men måske:    ;<o>;

hvad det så end betyder.
Avatar billede fangel Nybegynder
04. juli 2003 - 20:15 #22
kan du jo have ret i... ;) bedste løsning ville nok være at have en "forbuds" liste, som der bliver søgt efter, og slettet hvis fundet... fx <script> og andre
Avatar billede erikjacobsen Ekspert
04. juli 2003 - 20:17 #23
;) Vi kunne blive ved hele aftenen... Hvorfor ikke bare lade dem skrive
hvad de vil. Det er jo ikke fordi det er så svært.

Skidt med det - jeg er smuttet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester