Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 保护mySQL数据_Php_Mysql_Security - Fatal编程技术网

Php 保护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数据库,但我正在插入银行详细信息,因此它非常敏感,我如何保护它并防止它落入坏人之手

目前规范仍然非常基本,没有任何预防措施

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注入

您似乎正在编写一个PHP应用程序(我假设它将部署到web上)

  • 使用HTTPS进行web通信
  • 不要使用MySQL的默认端口
  • 每个操作都有不同的用户帐户(在MySQL中)(每个帐户都有不同的密码)。例如,您可能有一个mytable1_select帐户,它只能对mytable1执行选择
  • 对用户名和密码使用随机字符串生成器。虽然这会使代码更难理解,但这会使恶意用户更难获得访问权限,因为他们需要猜测用户名和密码
  • 通过转义所有用户输入的字符串来防止SQL注入

您应该在以下位置查找安全性:

  • 网站上的脚本:无内联SQL-使用存储过程或准备好的语句
  • 从网站到数据库的数据传输:使用HTTPS
  • 数据库中的数据存储:可以加密某些表,也可以加密整个数据库
  • 数据库和密钥备份:如果备份落入坏人之手,它将受到威胁。备份应保持安全
读这篇文章,它会教你很多关于建立网站的知识


您应该在以下位置查找安全性:

  • 网站上的脚本:无内联SQL-使用存储过程或准备好的语句
  • 从网站到数据库的数据传输:使用HTTPS
  • 数据库中的数据存储:可以加密某些表,也可以加密整个数据库
  • 数据库和密钥备份:如果备份落入坏人之手,它将受到威胁。备份应保持安全
读这篇文章,它会教你很多关于建立网站的知识


在敏感数据进入数据库之前,您需要对其进行加密。Mcrypt是在PHP中实现这一点的常用方法


在敏感数据进入数据库之前,您需要对其进行加密。Mcrypt是在PHP中实现这一点的常用方法


这些只是我没有看到其他人提出的建议

  • 由于您正在使用$\u会话,请确保register\u globals处于禁用状态,以避免SQL注入
  • 保护MySQL数据库的安全。它甚至不应该出现在互联网上。只有您的web服务器才能访问它

  • 这些只是我没有看到其他人提出的建议

  • 由于您正在使用$\u会话,请确保register\u globals处于禁用状态,以避免SQL注入
  • 保护MySQL数据库的安全。它甚至不应该出现在互联网上。只有您的web服务器才能访问它

  • 如果您正在认真存储银行详细信息,请在此区域尽可能多地阅读;考虑雇佣一个在这个领域有很多专业知识的人。 敏感数据就像地雷,除非你真的知道自己在做什么,否则你不想碰它

    编辑-我想澄清我在这里是非常严肃的,不是轻率的。如果给我一个这样的项目,我会高举一面“超出我能力范围”的大旗来保护我自己和我的公司。IMO这是其中一个项目,如果未能提供足够的基础设施和流程,可能导致公司受损


    我在这里很可能反应过度,但我正试图向一位朋友或同事提供真诚的建议,他们向我提出了同样的问题。

    如果您认真存储银行详细信息,请尽可能多地阅读这方面的内容;考虑雇佣一个在这个领域有很多专业知识的人。 敏感数据就像地雷,除非你真的知道自己在做什么,否则你不想碰它

    编辑-我想澄清我在这里是非常严肃的,不是轻率的。如果给我一个这样的项目,我会高举一面“超出我能力范围”的大旗来保护我自己和我的公司。IMO这是其中一个项目,如果未能提供足够的基础设施和流程,可能导致公司受损


    我在这里很可能反应过度,但我正试图向一位朋友或同事提供真诚的建议,他们向我提出了同样的问题。

    你到底想得到什么?您需要取回原始信息还是可以比较原始信息