gpt4 book ai didi

php - 如何在 laravel 验证中验证文件是 "real file"

转载 作者:搜寻专家 更新时间:2023-10-31 21:49:09 26 4
gpt4 key购买 nike

如何在上传过程中验证图像是否真的是“图像”或 PDF 是否真的是“PDF 文档”?。我观察到黑客试图上传一些带有 jpg 扩展名的文件,这些文件有图片预览,但是当我试图在编辑器中打开这个文件时,我看到了 php 代码! .

我担心的是:

我如何验证文件是真实文件?

我使用 laravel 框架,我测试了图像 mimes 验证,如下所示:

$inputs = array('image'=>$request->file('file'));
$rules = array(
'image' => 'mimes:jpeg,jpg,png,gif|required|max:10000'
);

$validator = Validator::make($inputs, $rules);
if ($validator->fails()){
die('validation failed');
}else{
die('validation Passed');
}

但是如果我尝试上传带有一些 php 注入(inject)代码的无效 jpeg 文件,这个验证总是通过!!

更新:附加无效的 jpeg 文件 enter image description here

最佳答案

如果你想验证它是一张图片,添加 'image' 规则到你的 $rules 数组:

$rules = array(
'image' => 'image|mimes:jpeg,jpg,png,gif|required|max:10000'
);

https://laravel.com/docs/master/validation#rule-image

关于php - 如何在 laravel 验证中验证文件是 "real file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47486424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com