【发布时间】:2013-05-20 21:46:59
【问题描述】:
我想从用户那里检查我的数据是否存在 XSS 和 SQL 注入,这就是我尝试的方式
if (isset($_GET['membernumber']))
{
$mem = htmlentities($_GET['membernumber']);
$memberparamter = cleanData($mem);
}
但是哪种方法是最好/正确的检查方法?
方法一
function cleanData($data)
{
$data=mysql_real_escape_string($data);
$data=trim($data);
$data=stripcslashes($data);
$data=htmlspecialchars($data);
$data=strip_tags($data);
return $data;
}
方法二
function cleanData($data)
{
$data=mysql_real_escape_string($data);
$data=trim($data);
$data=strip_tags($data);
return $data;
}
方法3
htmlspecialchars(stripcslashes(trim($data)))
【问题讨论】:
-
使用准备好的语句,它会处理所有这些问题
-
成员编号应该是整数吗?为什么不直接使用
intval($_GET['membernumber'])? -
是的,它应该是一个 int
标签: php xss sql-injection