如何安全地更新网站?

时间:2014-02-01 15:42:16

标签: php webserver file-upload updates

想象一下,我想将新文件(PHP,SQL,HTML)发送到服务器。 假设我使用安全连接。我的问题是:

“在新文件传输过程中,最不能避免不必要的故障的最佳方法是什么?”

一个例子是:

“在更新网站之前相当安全。 对于新版本,我已更新了用于验证用户身份的系统 :现在写一个简单的include($VERIFICATION_FILE_PATH)就足以检查用户对内容的访问权限了。 不幸的是,我决定最后上传文件$VERIFICATION_FILE_PATH(在此更新期间修改了许多PHP文件以使用新系统)。 “

在上传文件include之前,使用$VERIFICATION_FILE_PATH会使服务器的安全性降低,因为在上传文件$VERIFICATION_FILE_PATH之前,它们会生成警告而不是检查用户的身份。< / p>

我知道通过先决定上传文件include然后更新其他文件,或者只用require替换{{1}}(这会产生其他故障),可以轻松避免此问题。 ..),这只是一个例子。

2 个答案:

答案 0 :(得分:2)

在使用网站时无法更新网站,但有些方法可以在您更新时轻松将用户锁定在服务器之外:

  • 将网站置于“维护模式”,将用户重定向到另一个页面,将其锁定在要更新的部分之外。
  • 在更新过程中使整个服务器脱机,同时在其上面有一个缓存服务,例如Cloudflare,这将保留网站的某些部分,直到上传完成并且您可以打开它。

答案 1 :(得分:1)

通常情况下,您在更新服务时会关闭相关服务。

因此,在将新文件上传到服务器之前的问题中,您需要选择一个日期,然后在该日期传播您的网站将处于离线状态以进行维护,然后在该日期到来时停止您的apache,上传所有文件,然后重启apache。

所以没有人能够访问你的半更新网站。

因为这非常复杂(并且在人为错误方面存在一些空白),您需要在可信任的LAN上安装测试服务器,在尝试将其应用于生产服务器之前,您可以尝试几次整个安装过程