使用未知用户代理在Symfony中清空上载的文件

问题描述 投票:1回答:1

我使用Symfony作为REST API的集合,并且我一直得到一个空的上传文件的例外。在每天约有5000个用户的应用程序中,它每天发生大约5-10次。

这是相关代码:

$receipt = $request->files->get('receipt');

if (!$receipt || !($receipt instanceof UploadedFile) || !$receipt->isValid()) {
    throw new \Exception('No uploaded receipt image. Maybe the image is too large?');
}

我已经将upload_max_filesizepost_max_size增加到非常高的值,但错误仍然存​​在。我注意到用户代理总是“奇怪”:

User-Agent: myappname/104 CFNetwork/808.0.2 Darwin/16.0.0

其中myappname是我的移动应用程序的名称(只有最后一部分,没有com.mycompany.myappname)。它可能是模拟器还是黑客企图?

php symfony user-agent
1个回答
0
投票

如果upload_max_filesize大于post_max_size然后增加post_max_size然后它会比upload_max_size大,如果post_max_size的值大于memory_limit,那么增加memory_limit然后它将大于post_max_size。如果仍然发生,那么如果您的前端和后端位于单独的域用户“Nelmio CORS”设置上,请尝试使用ip或域限制REST API

# Nelmio CORS
nelmio_cors:
    defaults:
        allow_origin:  ["%cors_allow_origin%"]
        allow_methods: ["POST", "PUT", "GET", "DELETE", "OPTIONS"]
        allow_headers: ["content-type", "authorization"]
        max_age:       3600
    paths:
        '^/': ~

通过使用composer install nelmio / cors-bundle或类似的。

© www.soinside.com 2019 - 2024. All rights reserved.