请问PHP怎么过滤GET或者POST的参数?防止js注入,或者一些html注入?请请提供代码参考?谢谢!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问PHP怎么过滤GET或者POST的参数?防止js注入,或者一些html注入?请请提供代码参考?谢谢!相关的知识,希望对你有一定的参考价值。
请问php怎么过滤GET或者POST的参数?防止js注入,或者一些html注入?请请提供代码参考?谢谢!
我是新手,希望能详细一下,我现在做一个登陆的页面,只有用户名和密码
本函数将 unescaped_string 中的特殊字符转义,并计及连接的当前字符集,因此可以安全用于 mysql_query()。
注: mysql_real_escape_string() 并不转义 % 和 _。
例子 1. mysql_real_escape_string() 例子
<?php
$item = "Zak's and Derick's Laptop";
$escaped_item = mysql_real_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?>
以上例子将产生如下输出:
Escaped string: Zak\'s and Derick\'s Laptop 参考技术A //安全过滤输入
function clean($value)
$value=trim($value);
if(get_magic_quotes_gpc())
$value=stripslashes($value);
if(function_exists("mysql_real_escape_string"))
$value=mysql_real_escape_string($value);
else
$value=addslashes($value);
return $value;
使用时
$value = clean($_POST['value']);
一般情况下只需要过滤一下特殊字符就可以了 参考技术B 可以用php 自带函数
htmlspecialchars
防止xss,sql攻击函数
<?php //php防注入和XSS攻击通用过滤. //by qq:831937 $_GET && SafeFilter($_GET); $_POST && SafeFilter($_POST); $_COOKIE && SafeFilter($_COOKIE); function SafeFilter (&$arr) { $ra=Array(‘/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/‘,‘/script/‘,‘/javascript/‘,‘/vbscript/‘,‘/expression/‘,‘/applet/‘,‘/meta/‘,‘/xml/‘,‘/blink/‘,‘/link/‘,‘/style/‘,‘/embed/‘,‘/object/‘,‘/frame/‘,‘/layer/‘,‘/title/‘,‘/bgsound/‘,‘/base/‘,‘/onload/‘,‘/onunload/‘,‘/onchange/‘,‘/onsubmit/‘,‘/onreset/‘,‘/onselect/‘,‘/onblur/‘,‘/onfocus/‘,‘/onabort/‘,‘/onkeydown/‘,‘/onkeypress/‘,‘/onkeyup/‘,‘/onclick/‘,‘/ondblclick/‘,‘/onmousedown/‘,‘/onmousemove/‘,‘/onmouseout/‘,‘/onmouseover/‘,‘/onmouseup/‘,‘/onunload/‘); if (is_array($arr)) { foreach ($arr as $key => $value) { if (!is_array($value)) { if (!get_magic_quotes_gpc()) //不对magic_quotes_gpc转义过的字符使用addslashes(),避免双重转义。 { $value = addslashes($value); //给单引号(‘)、双引号(")、反斜线(\)与 NUL(NULL 字符)加上反斜线转义 } $value = preg_replace($ra,‘‘,$value); //删除非打印字符,粗暴式过滤xss可疑字符串 $arr[$key] = htmlentities(strip_tags($value)); //去除 HTML 和 PHP 标记并转换为 HTML 实体 } else { SafeFilter($arr[$key]); } } } } ?>