让所有用户使用相同的 username/password 插入 mysql 数据库是否不安全?
Is it unsafe to have all users insert into mysql database using the same username/password?
抱歉,如果这个问题很愚蠢。我有点新 PHP/mySql...
我正在尝试设置一个无需登录的提交表单。我在服务器中有一个数据库,其中一个用户有权访问它。因此,无论何时人们提交表单,他们都可以使用相同的 username/password...
插入到数据库中
我的配置文件对所有用户都是这样的...
<?php
return [
'database' => [
'name' => 'database',
'username' => 'myusername',
'password' => 'mypassword',
'connection' => 'host',
'options' => [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]
]
];
这是 standard/appropriate 的方法吗,还是我需要每个用户通过他们自己的 username/password 连接到数据库?
这种做法很常见,有了这个实现就没有什么可担心的了。用户名和密码用于您的数据库,而不是您的用户群。
这是配置文件,它告诉 PHP 建立数据库连接所需的信息。
是的,这很常见。大多数网络应用程序和网站都做这样的事情。例如,WordPress 使用单一的用户名和密码来访问数据库。没关系。
WordPress 将其秘密(密码和其他一些东西)保存在一个名为 /wp-config.php
的文件中。正确配置的 Web 服务器不会允许站点访问者直接查看该文件。它应该设置为始终 运行, 而从不 display, php 当用户请求这些文件时在 URL 中。相反,网络应用程序的其他部分 include
或 require
它在他们的代码中,以获取秘密。 WordPress has a good description of this file in their docs.
如果您想要更严格的安全性,我建议为您的数据库和备份创建四个 usernames/passwords。 (有些人使用单独的用户名进行备份。)
- 报告:此用户仅对您的 table 具有读取权限,当您的网络应用程序(或相关实用程序)必须根据您的数据生成报告或信息显示时使用。
- 一般用途:该用户具有读取权限和有限的写入权限。例如,此用户可能能够读取
user
table 并且能够读取和写入 loginlog
、posts
和 comments
table秒。这个用于大多数常规 Web 应用程序操作。
- 管理员。该用户对所有或几乎所有 table 具有读写权限。 Web 应用程序在执行创建或删除用户、更改密码或执行计费操作等操作时使用此用户。
- 超级棒。此用户的密码 never 存储在网络应用程序中,但管理员使用它来维护数据库。这是唯一可以创建、删除和 t运行cate tables、创建和删除视图、存储函数和其他数据库对象的用户。将此用户的密码保存在您的 Web 服务器之外意味着不法分子即使成功伪造了您的 Web 应用程序也无法访问它。
然后,您的网络应用用户的用户名和密码将是他们自己的,而不是数据库访问权限 user/password。
抱歉,如果这个问题很愚蠢。我有点新 PHP/mySql...
我正在尝试设置一个无需登录的提交表单。我在服务器中有一个数据库,其中一个用户有权访问它。因此,无论何时人们提交表单,他们都可以使用相同的 username/password...
插入到数据库中我的配置文件对所有用户都是这样的...
<?php
return [
'database' => [
'name' => 'database',
'username' => 'myusername',
'password' => 'mypassword',
'connection' => 'host',
'options' => [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]
]
];
这是 standard/appropriate 的方法吗,还是我需要每个用户通过他们自己的 username/password 连接到数据库?
这种做法很常见,有了这个实现就没有什么可担心的了。用户名和密码用于您的数据库,而不是您的用户群。
这是配置文件,它告诉 PHP 建立数据库连接所需的信息。
是的,这很常见。大多数网络应用程序和网站都做这样的事情。例如,WordPress 使用单一的用户名和密码来访问数据库。没关系。
WordPress 将其秘密(密码和其他一些东西)保存在一个名为 /wp-config.php
的文件中。正确配置的 Web 服务器不会允许站点访问者直接查看该文件。它应该设置为始终 运行, 而从不 display, php 当用户请求这些文件时在 URL 中。相反,网络应用程序的其他部分 include
或 require
它在他们的代码中,以获取秘密。 WordPress has a good description of this file in their docs.
如果您想要更严格的安全性,我建议为您的数据库和备份创建四个 usernames/passwords。 (有些人使用单独的用户名进行备份。)
- 报告:此用户仅对您的 table 具有读取权限,当您的网络应用程序(或相关实用程序)必须根据您的数据生成报告或信息显示时使用。
- 一般用途:该用户具有读取权限和有限的写入权限。例如,此用户可能能够读取
user
table 并且能够读取和写入loginlog
、posts
和comments
table秒。这个用于大多数常规 Web 应用程序操作。 - 管理员。该用户对所有或几乎所有 table 具有读写权限。 Web 应用程序在执行创建或删除用户、更改密码或执行计费操作等操作时使用此用户。
- 超级棒。此用户的密码 never 存储在网络应用程序中,但管理员使用它来维护数据库。这是唯一可以创建、删除和 t运行cate tables、创建和删除视图、存储函数和其他数据库对象的用户。将此用户的密码保存在您的 Web 服务器之外意味着不法分子即使成功伪造了您的 Web 应用程序也无法访问它。
然后,您的网络应用用户的用户名和密码将是他们自己的,而不是数据库访问权限 user/password。