gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 03:59:34 25 4
gpt4 key购买 nike

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

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

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

<?php

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

这是一种标准/适当的方法吗,还是我需要通过每个用户自己的用户名/密码将其连接到数据库?

最佳答案

是的,这很常见。大多数网络应用程序和网站都做这样的事情。例如,WordPress 使用单一的用户名和密码来访问数据库。没关系。

WordPress 在名为 /wp-config.php 的文件中保密(密码和其他一些东西)。正确配置的 Web 服务器不会允许站点访问者直接查看该文件。当用户在 URL 中请求 php 文件时,应该将其设置为始终运行 而从不显示 php 文件。相反,网络应用程序的其他部分在其代码中includerequire 以获取 secret 。 WordPress has a good description of this file in their docs.

如果您想要更严格的安全性,我建议为您的数据库和备份创建四个用户名/密码。 (有些人使用单独的用户名进行备份。)

  1. 报告:此用户仅对您的表具有读取权限,当您的网络应用程序(或相关实用程序)必须根据您的数据生成报告或信息显示时使用。
  2. 一般用途:此用户具有读取权限和有限的写入权限。例如,该用户可能能够读取 user 表,并且能够读取和写入 loginlogpostscomments表。这用于大多数常规网络应用程序操作。
  3. 管理员。该用户对所有或几乎所有表具有读写权限。 Web 应用程序在执行创建或删除用户、更改密码或执行计费操作等操作时使用此用户。
  4. super 好。此用户的密码从不存储在网络应用程序中,而是由管理员用来维护数据库。这是唯一可以创建、删除和截断表、创建和删除 View 、存储函数和其他数据库对象的用户。将此用户的密码保存在您的网络服务器之外意味着不法分子即使成功伪造了您的网络应用程序也无法获得它。

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

关于php - 让所有用户使用相同的用户名/密码插入 mysql 数据库是否不安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50892197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com