0

$_GET['search']在 page2 上使用 htmlspecialchars 吗?$_GET['search']在我添加mysql_real_escape_string到变量之前,我是否必须从 page3 上删除 htmlspecialchars ?如果是这样..我如何删除 htmlspecialchars?

第 1 页

 $searchterm = "test"; //users search term
echo "<a href='page2?seach=test'>test</test>";

第2页

$var = htmlspecialchars($_GET['search']);
<form action='page3' method='post'><input type='text' name='test' value='$var' /><input type='submit' value='submit'/></form>

第3页

$search = mysql_real_escape_string($_POST['test']);
//insert into mysql database
4

1 回答 1

2

$_GET['search']在 page2 上使用 htmlspecialchars 吗?

当您htmlspecialchars有一些文本并将其输出为HTML时使用。

这就是你在第二个例子中所做的,所以是的,你会的。

$_GET['search']我是否必须从page3中删除 htmlspecialchars

不会。浏览器会解析 HTML 以生成文本值。

(这也意味着浏览器不会提交 HTML 安全数据,因此当您从数据库中取出数据时,您会在将htmlspecialchars其输出到 HTML 文档之前使用它)。

在我添加mysql_real_escape_string到变量之前

不要使用mysql_real_escape_string使用准备好的语句和参数化查询

于 2012-07-02T11:25:42.440 回答