1

我只使用 mysql 数据库来显示信息。我能找到的所有关于安全性的信息都是关于动态创建用户名和密码,或者用于用户输入,这不适用于这里,所以如果我错过了重复,请原谅我。

我正在为以下每个进程创建一个单独的 php 文件:

  • config:包含数据库主机、用户名和密码。这将受 htaccess 保护
  • opendb:这将登录到数据库
  • closedb:这将退出数据库
  • 功能:这将包含用户定义的功能

用户名权限将仅限于选择。

我正在使用准备好的语句。会话开始包含在用户函数中。

有什么我想念的吗?这听起来相对安全吗?同样,此数据库中的所有信息都不是专有的。网站不大。

如果您需要更多信息,请告诉我。

更新

使用盐的必要性有多大?

另外,我在某处读到,您可以将其放入 ini 文件中,只需调用连接函数而不存储用户名和密码。那是更好的选择吗?

4

1 回答 1

0

我能想到的唯一不好的情况是数据库可能会在外部更新(不受您的控制)。有人将 javascript 添加到您正在显示的字段中。然后,您的网站将被用作对访问者进行 XSS 攻击的一部分。解决方案:在显示之前清理数据库输出。

您可能还想避免真正昂贵的查询(以防止拒绝服务),并确保您的 PHP 和 Web 服务器是最新的。

尽管很难从外部访问您的数据库或污染它,但您还应该保护自己免受更传统的攻击。例如,不允许用户将任何内容上传到外部可寻址的位置(或者在确定您知道那里有什么之前不要上传)。

于 2012-09-12T00:17:12.330 回答