Heim > Backend-Entwicklung > PHP-Tutorial > PHP如何过滤GET或者POST的参数?如何样才能保证代码不被注入

PHP如何过滤GET或者POST的参数?如何样才能保证代码不被注入

WBOY
Freigeben: 2016-06-13 12:55:22
Original
1500 Leute haben es durchsucht

PHP怎么过滤GET或者POST的参数?怎么样才能保证代码不被注入?
请问PHP怎么过滤GET或者POST的参数?防止js注入,或者一些html注入?请请提供代码参考?谢谢!


------解决方案--------------------
直接查查 魔术转换 相关东西吧

不用去看wordpress了,学这么个东西还要去看wordpress,搞死人啊
------解决方案--------------------
<br />
<br />
if (!get_magic_quotes_gpc())//如果没有开启的话<br />
{<br />
    /****需要对这几个数组,遍历,注意数组多维的情况,addslashes($str)就可以<br />
    $_GET<br />
    $_POST<br />
    $_COOKIE<br />
    $_REQUEST<br />
    ****/<br />
}<br />
<br />
Nach dem Login kopieren

------解决方案--------------------
看看wordpress好处还是有的。addslashes不能阻止所有情况。
------解决方案--------------------
addslashes基本上可以防止所有的sql注入了。
防止js注入,直接把<和>替换了就可以了
------解决方案--------------------
如果传递的是数值,用ceil($_get['okid']),应该可以防范得住。
------解决方案--------------------
<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 />
Nach dem Login kopieren

过滤js的,直接把变量内容里的<>替换掉就可以了。不用写在这里面
------解决方案--------------------
<?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 />
?>
Nach dem Login kopieren

------解决方案--------------------
$str = "Is your name O'reilly?";<br />
<br />
// 输出:Is your name O\'reilly?<br />
echo addslashes($str);
Nach dem Login kopieren

------解决方案--------------------
<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>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage