删除htmlspecialchars?

时间:2012-07-02 11:21:12

标签: php

我是否在第2页的$_GET['search']上使用了htmlspecialchars?在将$_GET['search']添加到变量之前,我是否必须从第3页的mysql_real_escape_string中删除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>

PAGE3

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

1 个答案:

答案 0 :(得分:2)

  

我是否在第2页的$_GET['search']上使用了htmlspecialchars?

如果您有一些文本并且即将输出为 HTML ,则使用htmlspecialchars

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

  

我不必在第3页上从$_GET['search']删除htmlspecialchars

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

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

  在将mysql_real_escape_string添加到变量

之前

请勿使用mysql_real_escape_stringuse prepared statements and parameterized queries