问题描述
mysql_real_escape_string
用于 SQL 语句.仅数据库安全就足够了吗?例如对于 get_magic_quotes_gpc() 我们有使用 stripslashes.关于将其他函数与 mysql_real_escape_string 一起使用,我们有什么需要了解的问题吗?提前致谢
mysql_real_escape_string
is used for SQL statements. Is it enough for database security alone? For example with get_magic_quotes_gpc() we have use stripslashes. Is there any issue that we have to know about using other function with mysql_real_escape_string ?Thanks in advance
推荐答案
如果你想要一个更安全的数据库,仅仅转义一个字符串是不够的.这对于 SQL 注入攻击肯定会有所帮助,但还有许多其他方法可以破坏数据库.
If you want to have a more secure database, simply escaping a string is not enough. This will definitely help in regards to SQL injection attacks, but there are a host of other methods to compromise a database.
一些提示:
- 实践最低权限",即被授予对您的数据库的访问权限的用户和帐户应具有完成其任务的最低权限,而没有其他权限.
- 确保您的密码难以猜测(由大小写字母、数字、符号等组成)并定期更改.
- 除非绝对必要,否则不要保存信用卡号(假设您经营的是商业网站).
- 如果您有用户帐户,则在将密码存储到数据库之前对其进行哈希处理并可能对其进行加盐
- 检查并仔细检查端口号(MySQL 为 3306)以及文件和目录的权限,尤其是在用户上传文件时
这些通常是很好的做法,您应该了解 SQL 注入攻击范围之外的数据库问题.
These are generally good practice and you should be aware of issues for databases outside the scope of just SQL injection attacks.
这篇关于mysql_real_escape_string :仅数据库安全就足够了吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!