【问题标题】:Is it possible to move_upload_file to my server是否可以将_upload_file 移动到我的服务器
【发布时间】:2011-07-22 03:39:31
【问题描述】:

我在共享托管服务器上托管了一个网站。
我有一个文件夹的给定权限 776,有人可以使用 move_upload_file 从他的家用电脑或自己的服务器将文件上传到我的服务器吗?

Edit
如果我不向用户提供前面板或某些 UI,是否仍然可以上传文件?

【问题讨论】:

  • 您的意思是其他人可以在您的服务器上上传文件吗?我认为这就是使用上传的全部意义

标签: php security file-upload


【解决方案1】:

您使用move_uploaded_file(注意:upload*ed*)在服务器上的 PHP 脚本中移动/重命名文件。 move_uploaded_filerename 的特别之处在于它会检查文件是否刚刚在同一个 HTTP 请求中上传。如果不是,它将失败并出现错误。

这是为了防止您的脚本中的错误或恶意用户欺骗您的服务器移动您不打算移动的任何其他类型的文件。使用它,您可以确保您只是将上传的文件从临时目录移动到其他目的地。

就是这样。它不会将文件上传到其他服务器。如果服务器以某种方式(例如通过 PHP 脚本、FTP、SCP 等)处理上传,您不能简单地将文件上传到其他服务器。

【讨论】:

    【解决方案2】:

    不确定你到底在问什么。

    如果您是说,您能否制作一个 HTML 表单并让某人从他们的浏览器中点击该表单进行上传。这取决于用户 apache 的运行方式。你可以制作一个 HTML 表单,用 PHP 捕获它并使用 move_uploaded_file 如果任何用户 apache 运行可以在该目录中创建一个文件。

    如果您认为有人可以在另一台计算机上编写 php 脚本,并使用函数move_uploaded_file,那么不,您绝对不能。那不是该功能的作用。我建议使用 SCP 来做类似的事情。

    【讨论】:

      【解决方案3】:

      不,如果您不提供接收文件并将其移动的脚本,其他用户无法将文件上传到您的服务器。

      move_uploaded_file 所做的只是将文件从硬盘上的临时目录移动到同一硬盘上的不同位置。它不能将文件放在其他人的计算机上。

      您的问题相当于询问您的隔壁邻居是否可以通过互联网将儿童色情内容复制到您家用 PC 的硬盘上。你应该很高兴答案是否定的。

      【讨论】:

        猜你喜欢
        • 2014-09-07
        • 1970-01-01
        • 2017-12-10
        • 2011-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多