Fix image extension validation

Issue #21
This commit is contained in:
gdarko
2024-02-10 01:31:44 +01:00
parent 91d37673aa
commit 8918ea5124

View File

@@ -32,11 +32,18 @@ class Base64Mime implements Rule
$this->attribute = $attribute;
try {
$data = json_decode($value)->data;
$decoded = json_decode(trim($value));
$name = !empty($decoded->name) ? $decoded->name : '';
$data = !empty($decoded->data) ? $decoded->data : '';
} catch (\Exception $e) {
return false;
}
$extension = pathinfo($name, PATHINFO_EXTENSION);
if(!in_array($extension, $this->extensions)) {
return false;
}
$pattern = '/^data:\w+\/[\w\+]+;base64,[\w\+\=\/]+$/';
if (! preg_match($pattern, $data)) {