PHP で GET または POST パラメーターをフィルターするにはどうすればよいですか?コードが挿入されないようにするにはどうすればよいでしょうか?
PHP で GET または POST パラメーターをフィルターするにはどうすればよいですか? js インジェクション、または html インジェクションを防止しますか?コードリファレンスを提供していただけますか?ありがとう!
<br /> <br /> if (!get_magic_quotes_gpc())//如果没有开启的话<br /> {<br /> /****需要对这几个数组,遍历,注意数组多维的情况,addslashes($str)就可以<br /> $_GET<br /> $_POST<br /> $_COOKIE<br /> $_REQUEST<br /> ****/<br /> }<br /> <br />
<br /> if (!get_magic_quotes_gpc()) {<br /> !empty($_POST) && Add_S($_POST);<br /> !empty($_GET) && Add_S($_GET);<br /> !empty($_COOKIE) && Add_S($_COOKIE);<br /> !empty($_SESSION) && Add_S($_SESSION);<br /> }<br /> !empty($_FILES) && Add_S($_FILES);<br /> <br /> function Add_S(&$array){<br /> if (is_array($array)) {<br /> foreach ($array as $key => $value) {<br /> if (!is_array($value)) {<br /> $array[$key] = addslashes($value);<br /> } else {<br /> Add_S($array[$key]);<br /> }<br /> }<br /> }<br /> }<br />
<?php<br /> if (!get_magic_quotes_gpc()){<br /> foreach($_POST as $key => $value){<br /> $_POST[$key] = addslashes($val);<br /> }<br /> foreach($_GET as $key => $value){<br /> $_GET[$key] = addslashes($val);<br /> }<br /> }<br /> ?>------解決策----------------------
$str = "Is your name O'reilly?";<br /> <br /> // 输出:Is your name O\'reilly?<br /> echo addslashes($str);--- - --解決策------------------
//入力クラスは TP によって提供されます。 <br> 関数 inputFilter($content)<br> {<br> if(is_string($content) ) {<br> return Input::getVar($content);<br> }<br> elseif(is_array($content)){<br> foreach ( $content as $key => $val ) {<br> $content[$key] = inputFilter($val);<br> }<br> return $content;<br> }<br> elseif(is_object($content)) {<br> $vars = get_object_vars($content);<br> foreach($vars as $key=>$val) {<br> $content->$key = inputFilter($val); <br><br>