我在page2上的$_GET['search']上使用htmlspecialchars吗?在将$_GET['search']添加到变量之前,我不需要从page3上的mysql_real_escape_string中删除htmlspecialchars吗?如果是这样的话..如何删除htmlspecialchars?
page1
$searchterm = "test"; //users search term
echo "<a href='page2?seach=test'>test</test>";page2
$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发布于 2012-07-02 19:25:42
在page2上的
$_GET['search']上使用htmlspecialchars吗?
当您有一些文本并打算将其输出为HTML时,您可以使用htmlspecialchars。
这就是您在第二个示例中所做的,所以,是的,您会这样做的。
我不需要从page3上的
$_GET['search']中删除htmlspecialchars吗?
不是的。HTML由浏览器解析以产生文本值。
(这也意味着浏览器不提交超文本标记语言安全的数据,所以当您从数据库的中取出数据时,在将其输出到超文本标记语言文档之前需要使用htmlspecialchars )。
在将mysql_real_escape_string添加到变量之前执行
不要用mysql_real_escape_string,use prepared statements and parameterized queries。
https://stackoverflow.com/questions/11292638
复制相似问题