Php 保护mySQL数据
我正在将数据插入mySQL数据库,但我正在插入银行详细信息,因此它非常敏感,我如何保护它并防止它落入坏人之手 目前规范仍然非常基本,没有任何预防措施Php 保护mySQL数据,php,mysql,security,Php,Mysql,Security,我正在将数据插入mySQL数据库,但我正在插入银行详细信息,因此它非常敏感,我如何保护它并防止它落入坏人之手 目前规范仍然非常基本,没有任何预防措施 mysql_connect("localhost", "user", "pass") or die(mysql_error()); mysql_select_db("db") or die(mysql_error()); $result = mysql_query("INSERT INTO table (id, name, surname) V
mysql_connect("localhost", "user", "pass") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());
$result = mysql_query("INSERT INTO table (id, name, surname)
VALUES (NULL, '".$_SESSION['name']."', '".$_SESSION['surname']."' )")
or die(mysql_error());
先走一步 您需要防止SQL注入。在插入的所有变量周围使用mysql\u real\u escape\u string()。更好的方法是使用PDO和准备好的语句。更好的方法是使用PDO和存储过程。您需要防止SQL注入。在插入的所有变量周围使用mysql\u real\u escape\u string()。更好的方法是使用PDO和准备好的语句。更好的方法是使用PDO和存储过程。您应该真正使用来保护自己
您的示例代码太冒险了 你真的应该用来保护自己
您的示例代码太冒险了 您似乎正在编写一个PHP应用程序(我假设它将部署到web上)
- 使用HTTPS进行web通信
- 不要使用MySQL的默认端口
- 每个操作都有不同的用户帐户(在MySQL中)(每个帐户都有不同的密码)。例如,您可能有一个mytable1_select帐户,它只能对mytable1执行选择
- 对用户名和密码使用随机字符串生成器。虽然这会使代码更难理解,但这会使恶意用户更难获得访问权限,因为他们需要猜测用户名和密码
- 通过转义所有用户输入的字符串来防止SQL注入
- 使用HTTPS进行web通信
- 不要使用MySQL的默认端口
- 每个操作都有不同的用户帐户(在MySQL中)(每个帐户都有不同的密码)。例如,您可能有一个mytable1_select帐户,它只能对mytable1执行选择
- 对用户名和密码使用随机字符串生成器。虽然这会使代码更难理解,但这会使恶意用户更难获得访问权限,因为他们需要猜测用户名和密码
- 通过转义所有用户输入的字符串来防止SQL注入
- 网站上的脚本:无内联SQL-使用存储过程或准备好的语句
- 从网站到数据库的数据传输:使用HTTPS
- 数据库中的数据存储:可以加密某些表,也可以加密整个数据库
- 数据库和密钥备份:如果备份落入坏人之手,它将受到威胁。备份应保持安全
您应该在以下位置查找安全性:
- 网站上的脚本:无内联SQL-使用存储过程或准备好的语句
- 从网站到数据库的数据传输:使用HTTPS
- 数据库中的数据存储:可以加密某些表,也可以加密整个数据库
- 数据库和密钥备份:如果备份落入坏人之手,它将受到威胁。备份应保持安全
在敏感数据进入数据库之前,您需要对其进行加密。Mcrypt是在PHP中实现这一点的常用方法
在敏感数据进入数据库之前,您需要对其进行加密。Mcrypt是在PHP中实现这一点的常用方法
这些只是我没有看到其他人提出的建议
这些只是我没有看到其他人提出的建议
如果您正在认真存储银行详细信息,请在此区域尽可能多地阅读;考虑雇佣一个在这个领域有很多专业知识的人。 敏感数据就像地雷,除非你真的知道自己在做什么,否则你不想碰它 编辑-我想澄清我在这里是非常严肃的,不是轻率的。如果给我一个这样的项目,我会高举一面“超出我能力范围”的大旗来保护我自己和我的公司。IMO这是其中一个项目,如果未能提供足够的基础设施和流程,可能导致公司受损
我在这里很可能反应过度,但我正试图向一位朋友或同事提供真诚的建议,他们向我提出了同样的问题。如果您认真存储银行详细信息,请尽可能多地阅读这方面的内容;考虑雇佣一个在这个领域有很多专业知识的人。 敏感数据就像地雷,除非你真的知道自己在做什么,否则你不想碰它 编辑-我想澄清我在这里是非常严肃的,不是轻率的。如果给我一个这样的项目,我会高举一面“超出我能力范围”的大旗来保护我自己和我的公司。IMO这是其中一个项目,如果未能提供足够的基础设施和流程,可能导致公司受损
我在这里很可能反应过度,但我正试图向一位朋友或同事提供真诚的建议,他们向我提出了同样的问题。你到底想得到什么?您需要取回原始信息还是可以比较原始信息