ďťż

[PHP] BBCode i kolor kwestia bezpieczeństwa i szybkości

       

Podstrony


telcocafe

Są 2 sposoby.

1. [ color=nazwa ]Tekst[ /color ]
+ dowolny kolor
Najpopularniejszy.

2. [green]tekst[/green] [blue]inny[/blue]
+ bezpieczniej
(takich znaczników jest 7)
Stosowany był w Snitzie.

Pamiętam kiedyś, że był związany problem z bezpieczeństwem w [color=test] w pewnym skrypcie.

Który z tych sposobów jest lepszy? Który z nich jest:
a) szybszy
b) bezpieczniejszy?

W pierwszym sposobie zawsze można przeparsować wartość w środku (litery i liczby oraz #). Jest też wada tego rozwiązania - w sposobie, gdzie w większości używane jest str_replace() [PHP5+], trzeba użyć wyrażeń regularnych (*reg_replace).
Użytkownik Ferrari edytował ten post 31 maj 2006, 18:30


1. oczywiscie... nie wiem jaki problem jest w skorzystaniu z wyrazen regularnych

eregi_replace( '\[color=([a-z]+ )\](.+)\[/color\]', '(...)

co do bezpieczeństwa... tak jak wspomniał BalonPL: jeśli uchronisz się przed XSS to wszystko będzie bezpieczne. Pamiętaj, że warto wogóle wszystko co wpisuje user zabezpieczyć przed tego typu atakami ;)

co do szybkości... hmm... wszystko zależy od przetwarzania tekstu :P

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.