Php 让所有用户使用相同的用户名/密码插入mysql数据库是否不安全?

Php 让所有用户使用相同的用户名/密码插入mysql数据库是否不安全?,php,mysql,security,database-connection,Php,Mysql,Security,Database Connection,对不起,如果这个问题是愚蠢的。我对PHP/mySql有点陌生 我正在尝试设置一个提交表单,无需登录。我在服务器中有一个数据库,其中一个用户具有访问该数据库的特权。因此,每当人们提交表单时,他们都可以使用相同的用户名/密码插入数据库 我的配置文件对于所有用户都是这样的 <?php return [ 'database' => [ 'name' => 'database', 'username' => 'myusername',

对不起,如果这个问题是愚蠢的。我对PHP/mySql有点陌生

我正在尝试设置一个提交表单,无需登录。我在服务器中有一个数据库,其中一个用户具有访问该数据库的特权。因此,每当人们提交表单时,他们都可以使用相同的用户名/密码插入数据库

我的配置文件对于所有用户都是这样的

<?php

return [
    'database' => [
        'name' => 'database',
        'username' => 'myusername',
        'password' => 'mypassword',
        'connection' => 'host',
        'options' => [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
         ]
    ]
];

这种做法非常普遍,而且这种实现不需要担心。用户名和密码用于数据库,而不是用户库


这是一个配置文件,它告诉PHP建立数据库连接所需的信息。

这种做法很常见,并且这种实现不需要担心。用户名和密码用于数据库,而不是用户库


这是一个配置文件,它告诉PHP建立数据库连接所需的信息。

是的,这是常见的。大多数web应用程序和网站都是这样做的。例如,WordPress使用单个用户名和密码访问数据库。很好

WordPress在一个名为
/wp config.php
的文件中保存它的秘密(密码和其他一些东西)。正确配置的web服务器不允许站点访问者直接查看该文件。当用户在URL中请求php文件时,应该将其设置为始终运行,而不显示这些文件。相反,web应用程序
的其他部分包括
要求
在其代码中包含它,以获取机密

但是,如果您想稍微加强安全性,我建议为数据库和备份创建四个用户名/密码。(有些人使用单独的用户名进行备份。)

  • 报告:此用户仅对您的表具有读取权限,并且在您的web应用程序(或关联的实用程序)必须从数据生成报告或信息显示时使用
  • 一般用途:此用户具有读取权限和有限的写入权限。例如,此用户可能能够读取
    用户
    表,并且能够读取和写入
    登录
    帖子
    、以及
    评论
    表。此应用程序用于大多数常规web应用程序操作
  • 管理员。此用户对所有或几乎所有表都具有读写权限。web应用程序在创建或删除用户、更改密码或执行计费操作时使用此用户
  • 太好了。此用户的密码从不存储在web应用程序中,而是由管理员用于维护数据库。这是唯一可以创建、删除和截断表、创建和删除视图、存储函数和其他数据库对象的用户。将此用户的密码从您的web服务器上删除意味着即使他们成功地删除了您的web应用程序,也无法访问该密码

  • 然后,web应用用户的用户名和密码将是他们自己的,而不是数据库访问用户/密码。

    是的,这是常见的。大多数web应用程序和网站都是这样做的。例如,WordPress使用单个用户名和密码访问数据库。很好

    WordPress在一个名为
    /wp config.php
    的文件中保存它的秘密(密码和其他一些东西)。正确配置的web服务器不允许站点访问者直接查看该文件。当用户在URL中请求php文件时,应该将其设置为始终运行,而不显示这些文件。相反,web应用程序
    的其他部分包括
    要求
    在其代码中包含它,以获取机密

    但是,如果您想稍微加强安全性,我建议为数据库和备份创建四个用户名/密码。(有些人使用单独的用户名进行备份。)

  • 报告:此用户仅对您的表具有读取权限,并且在您的web应用程序(或关联的实用程序)必须从数据生成报告或信息显示时使用
  • 一般用途:此用户具有读取权限和有限的写入权限。例如,此用户可能能够读取
    用户
    表,并且能够读取和写入
    登录
    帖子
    、以及
    评论
    表。此应用程序用于大多数常规web应用程序操作
  • 管理员。此用户对所有或几乎所有表都具有读写权限。web应用程序在创建或删除用户、更改密码或执行计费操作时使用此用户
  • 太好了。此用户的密码从不存储在web应用程序中,而是由管理员用于维护数据库。这是唯一可以创建、删除和截断表、创建和删除视图、存储函数和其他数据库对象的用户。将此用户的密码从您的web服务器上删除意味着即使他们成功地删除了您的web应用程序,也无法访问该密码

  • 然后,web应用程序用户的用户名和密码将是他们自己的,而不是数据库访问用户/密码。

    这是相当标准的。用户名和密码仅用于数据库,与您的用户基础无关。因此,没有任何用户能够访问config.php文件?嗯。。。他们不应该有任何方法来访问它。我不知道他们会怎么做。我会尽可能严格地保持权限。您的mysql数据库可能有一个root用户,但您不会将其用于站点脚本。您可以通过mysql获得非常精细的权限/特权,甚至可以为特定用户选择或插入特定表。这是非常标准的。用户名和密码仅用于数据库,与您的用户群无关。因此,没有任何用户能够访问config.php文件?嗯。。。他们不应该有任何方法来访问它。我不知道他们会怎么做。我会尽量保留权限