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);
<br>
//本人在 TP 框架中的过滤函数。<br>
// Input 类是 TP 提供的。<br>
function 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); <div class="clear"></div>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号