【发布时间】:2013-02-18 14:57:06
【问题描述】:
在我的网络应用程序中有一个配置文件,其中包括数据库连接设置,并且始终在 PHP 脚本的第一行加载。我想包含一个函数,它可以清除所有 POST 和 GET 数据,以应对可能存在的 XSS 和 SQL 注入风险。
我不确定这个功能是否真的足够
function make_safe($variable)
{
$variable = strip_tags(mysql_real_escape_string(trim($variable)));
return $variable;
}
foreach ($_POST as $key => $value) {
$_POST[$key] = make_safe($value);
}
//Same for $_GET & $_SESSION
你对这个问题有什么建议吗?
【问题讨论】:
-
这里有两个不同的问题。一次只专注于它们。将数据插入 SQL 时处理 SQL 注入。向 HTML 中插入数据时处理 XSS。
-
How to prevent SQL injection in PHP? 与您遇到的 first 问题(SQL 注入)重复。 XSS 是你的第二个问题。也有很多答案可以解释如何防御这种情况,请四处寻找。
-
如果您使用上述功能,那么您可以在您的应用程序中使用编辑器吗?
标签: php http-post xss http-get