【问题标题】:Is it secure to dispatch a job to process a temporary file?调度作业来处理临时文件是否安全?
【发布时间】:2019-03-25 18:49:42
【问题描述】:

由于当前脚本完成后会自动删除临时文件(#50778308),如果我调度 Laravel Job 来处理上传的文件,这只是临时文件,是否存在风险找不到文件?

【问题讨论】:

  • 如果您需要处理此文件,请将其存储在您的存储文件夹中,然后在处理后将其删除。
  • 完全是@EliasSoares,您还可以安全地调整大小、重新格式化或添加水印。不要依赖队列来完成此类工作。我实际上已经取消排队上传文件。甚至到S3。上传后处理速度非常快,无需排队。

标签: php laravel


【解决方案1】:

不,作业将无法访问临时上传的文件。请求完成后,作业由单独的工作进程处理,这意味着临时文件已被删除。

正如Elias所说,解决方法是在请求期间save the file,然后job处理完就可以删除文件了。

当您使用sync 队列驱动程序时例外,该驱动程序在调度作业时立即处理它们。在这种情况下,作业在请求期间运行,因此作业将能够访问临时上传的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 2017-09-30
    • 2020-02-22
    • 2014-08-10
    • 2015-12-18
    • 2010-12-03
    • 2019-09-18
    相关资源
    最近更新 更多