使用PHP进行远程数据库的数据库转储/备份时的安全风险和适当的措施

时间:2011-01-13 12:34:29

标签: php web-applications security

当使用PHP进行数据库备份/转储时,当然可能会超出脚本超时等(除非相应地设置)。但忽略这些与安全无关的事情涉及的所有安全问题。

我在某处读到,由于需要在Web空间中创建备份,因此存在其他用户从浏览器访问该文件的风险。有人可以详细解释一下吗?在设置正确的文件权限之前,创建转储时是否存在瞬间风险?如果是这样,像PhpMyAdmin这样的应用程序如何处理?我读到他们做了一些事情,但我不确定是什么,我发现探索它的代码找到诀窍而不知道它们究竟是做什么是非常痛苦的。所以,如果你们可以分享基本的想法/技术开始。除此之外还存在其他安全问题。很高兴看到这里讨论的所有可能性,以便新手程序员在遇到麻烦之前就知道了。

当然最好使用像shell脚本这样的东西,但这可能无法始终满足目的 -

  • 用户可能不是技术人员,并且更适合运行简单的备份URL。
  • 可能没有可用的shell访问权等 谢谢,
    Sandeepan

1 个答案:

答案 0 :(得分:1)

重新启动phpMyAdmin的导出过程:我想想 - 这不是权威的,但我很确定这是如何工作的 - phpMyAdmin从未真正创建过一个文件,而是直接通过dump的结果。因此除了请求它的用户之外,永远不会有任何其他人可以访问转储的URL。这一切都发生在脚本运行时占用的内存中。

如果你能这样做(只将数据直接发送给经过身份验证的用户),你会没事的。确实存在潜在危险的是在Web根目录中存储临时的,不受保护的文件。这永远不应成为备份过程的一部分。