如果我添加到mysql_real_escape_string也会更好更好吗:
$username = mysql_real_escape_string(trim(addslashes($_POST['username'])));
密码var中是否有任何需要
$password = md5(mysql_real_escape_string(trim($_POST['password'])));
我还阅读了一些关于从db安全检索数据的主题... 它说,检索这样的数据会更好:
htmlentities(stripslashes($v))
安全真的有必要吗?
答案 0 :(得分:2)
摆脱了addslashes,这就是mysql_real_escape_string()
的用途!
如果要进行哈希处理,无需真正转义密码。虽然不使用MD5,但是等等,我没有开放那种蠕虫。
答案 1 :(得分:2)
答案 2 :(得分:1)
如果您使用addslashes
mysql_real_escape_string
此外,如果在输入数据库之前对输入进行了清理,则无需在从数据库中检索数据时删除斜杠。
我个人使用HTML purifier来清理输入。
md5也许不是最好的解决方案,使用像sha-128这样的东西
答案 3 :(得分:-1)
安全真的有必要吗?
是的。
您在进入数据库的过程中清理数据(使用mysql_real_escape_string)以防止意外数据损坏或故意sql注入。
您在出路时逃避数据(使用htmlentities)以防止跨站点脚本(xss)。
两者都非常不同,而且非常重要。