拥有这样的东西真的有用吗:
$passe = mysql_real_escape_string(htmlspecialchars($_POST['passe']));
我们为什么要用这个? 如何优化?
谢谢
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("nom_db");
$passe = mysql_real_escape_string(htmlspecialchars($_POST['passe']));
$passe2 = mysql_real_escape_string(htmlspecialchars($_POST['passe2']));
if($passe == $passe2)
{
script here
}
else
{
echo 'Your password is wrong';
}
?>
最佳答案
在该代码示例中,它根本没有用。
htmlspecialchars
将 HTML 中具有特殊含义的字符转换为实体。如果您有一些文本要插入到 HTML 文档中,这是必不可少的(因为它会停止,例如,将 <
等字符视为标记的开头,并防止 XSS )。
mysql_real_escape_string
将 MySQL SQL 查询中具有特殊含义的字符转换为转义字符。这允许您安全地将任意字符串插入 MySQL 数据库(防止错误和 injection 。然而,有 better ways to do the same thing 。
在这种情况下,您只是比较两个字符串。通过一堆转换运行它们不会做任何有用的事情。
关于php - mysql_real_escape_string(htmlspecialchars()) 真的有用吗?为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7158668/