0

我在 Mysql 数据库中存储密码,这些密码有特殊字符。密码存储正常,但在检索这些密码时,显示不完整的密码,小于号“<”后不显示密码

例如:这是密码 -> abcxyz abcxyz

4

3 回答 3

3

假设您使用 HTML 在网站上显示。然后<用于启动 HTML 标记,这就是为什么您看不到它们的原因,但是如果您要查看源代码,那么它应该在那里。如果字符串包含特殊字符,那么您应该对它们进行转义,例如使用htmlspecialchars函数。

作为旁注,您不应该将密码存储为纯文本(或显示它们)。

于 2012-11-11T10:22:31.917 回答
0

您永远不应该将密码存储为纯文本!绝不!

这是一个安全问题。存储它的(加盐)散列,你也将摆脱你的问题,因为散列不包含特殊字符。

于 2012-11-11T10:30:44.920 回答
0

如果您在数据库中存储特殊字符,那么这不是一个好主意。出于安全原因,请使用

//convert password into the hash as a 32-character hexadecimal number
1) md5 — Calculate the md5 hash of a string 
2) mysql_real_escape_string — Escapes special characters in a string for use in an SQL statement. 

如果谈论数据库处理,此链接将有所帮助:-

如何防止 PHP 中的 SQL 注入?

于 2012-11-11T10:31:19.863 回答