Ok.... Why not just set the values in $_REQUEST then? AbstractEnvironment::stripTagsArr($_REQUEST);
Or something like this: foreach($_REQUEST as $key => $val) { $_REQUEST[$key] = stripTagsNStuff($key, $val); } On Thu, 15 Jul 2004 15:45:45 -0700, Dennis Gearon <[EMAIL PROTECTED]> wrote: > I found the answer, as my second post on this told. > > Why unset the globals? > > I plan on implementing filters on all User input to ALL scripts in the prepend file. > And if someone wants to get a variable that was supplied by a user, they have to > specifiy if it's going to be INT, STR(with options to remove run on spaces, validate > email addr, remove carriage returns to prevent embedded email directives) 'NUM' type > with formatting like in databases, and also, anti SQL injection escaping is > possible. The programmer will HAVE to choose which filtering, but strip tags is > automatic. I'm not going to have XSS holes or SQL injection on my site. > > > > > Justin Patrin wrote: > > > You can't unset $_REQUEST. All it does is unset the reference to it in > > the current context. It still exists elsewhere. If you *really* want > > to get rid of $_REQUEST, you should do it this way: > > > > unset($GLOBALS['_REQUEST']); > > > > But I would advise against that. Why exactly are you unsetting a superglobal? > > > > On Thu, 15 Jul 2004 15:00:15 -0700, Dennis Gearon <[EMAIL PROTECTED]> wrote: > > > >>I have a function in a class that unsets the superglobal $_REQUEST; > >> > >>Well, it's supposed to, it doesn't do it. I'm on version 4.2.3 of PHP. This page: > >> > >> > >> http://us2.php.net/manual/en/language.variables.predefined.php#language.variables.superglobals > >> > >>says that $_REQUEST is a super global as of version 4.1.0. Is there some bug I > >>don't know about or am I doing something wrong? > >> > >>Here's the code: > >> > >><?PHP > >>$_REQUEST["var1"]="\"><script>script stuff</script>"; > >>$_REQUEST["var2"]="a_string_of_course"; > >>$_REQUEST["arr1"]["elem1"]="<script>script stuff2</script>"; > >>$_REQUEST["arr1"]["elem2"]="another_string_of_course"; > >> > >>if( !defined('TEST_UNSET') ){ > >> define('TEST_UNSET', TRUE); > >> > >> class abstract_environment{ > >> var $_REQUEST; > >> function abstract_environment(){ > >> $this->_REQUEST=$_REQUEST; > >> unset( $_REQUEST ); > >> echo("unset was done"); > >> $this->_clean_all_vars(); > >> } > >> function _clean_all_vars(){ > >> //ADD OTHER PROCESSING AS NEEDED > >> $this->_strip_tags_arr( $this->_REQUEST ); > >> } > >> function _strip_tags_arr( &$arr_or_solo ){ > >> if( isset($arr_or_solo) ){ > >> if( !is_array($arr_or_solo) ){ > >> $arr_or_solo= strip_tags($arr_or_solo); > >> } else { > >> reset ($arr_or_solo); > >> while (list($key, ) = each ($arr_or_solo)) { > >> if( isset($arr_or_solo[$key]) ){ > >> if( is_array($arr_or_solo[$key]) ){ > >> > >> $this->_strip_tags_arr($arr_or_solo[$key]); > >> } else { > >> $arr_or_solo[$key] = > >> strip_tags($arr_or_solo[$key]); > >> } > >> } > >> } > >> } > >> } > >> } > >> > >> } > >>} > >>$abs_env=new abstract_environment; > >>echo "<pre>"; > >>print_r($_REQUEST); > >>print_r( $abs_env ); > >>echo "</pre>"; > >>?> > >> > >>-- > >>PHP General Mailing List (http://www.php.net/) > >>To unsubscribe, visit: http://www.php.net/unsub.php > >> > >> > >> > >> > > > > > > > -- DB_DataObject_FormBuilder - The database at your fingertips http://pear.php.net/package/DB_DataObject_FormBuilder paperCrane --Justin Patrin-- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php