On Thu, 2007-02-08 at 15:32 -0700, Don wrote: > > I asked this question awhile ago and never really visited the issue till > > now. The response I got showed me how to disable everything, but I want to > > allow basic html tags. > > > http://us3.php.net/strip_tags > > You can use the optional second parameter to specify tags which should not > be stripped. > > HTH, > > Brad > > > I ended up using strip_tags (thanks Brad) > > But to disable other ways of getting javascript to run I also included > this.... > > $pattern = > array('/(javascript)/','/([jJ(j)][aA(a)][vV(v)][aA(a)][sS( > 5)][cC(c)][rR(r)][iI(i)][pP(p)][tT(t)])/','/(\.[jJ(j) > ][sS(s)])/','/([xX][sS(s)][sS(s)])/','/([xX][mM][lL])/'); > > $candidateNewBio = preg_replace($pattern, '', $candidateNewBio); > > Is this worthwhile or a waste of time, because it seems to really protect > your site, you need have a contingency for every possible attack.... And I > don't even know how some of this stuff is even working with my level of > understanding Like a previous poster said... you need to be smarter than that. Markup the entire document via htmlspecialchars() then replace basic tags with real tags. So... <?php $safe = htmlspecialchars( $content ); $safe = str_replace( '<b>', '<b>', $safe ); ?> Better yet, switch to something like BBCode. Why you ask... because let's say you do the following: <?php $safe = strip_tags( $content, '<b>' ); ?> All Joe Hacker needs to do is submit the following: ----- This is tricky <b onmouseover="document.location = 'www.mypr0n.com';"> ----- This line of attack is clearly warned about in the documentation for strip_tags(). Cheers, Rob. -- .------------------------------------------------------------. | InterJinn Application Framework - http://www.interjinn.com | :------------------------------------------------------------: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `------------------------------------------------------------' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php