Skip to main content

Black Friday 2025! Only until December 1st: coupon FRIDAY25 for 40% off Yearly/Lifetime membership!

Read more here

BookStackApp/BookStack

17759 stars
2 code files
View BookStackApp/BookStack on GitHub

app/Providers/CustomValidationServiceProvider.php

Open in GitHub
use BookStack\Uploads\ImageService;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\ServiceProvider;
 
class CustomValidationServiceProvider extends ServiceProvider
{
public function boot(): void
{
Validator::extend('image_extension', function ($attribute, $value, $parameters, $validator) {
$extension = strtolower($value->getClientOriginalExtension());
 
return ImageService::isExtensionSupported($extension);
});
 
Validator::extend('safe_url', function ($attribute, $value, $parameters, $validator) {
$cleanLinkName = strtolower(trim($value));
$isJs = strpos($cleanLinkName, 'javascript:') === 0;
$isData = strpos($cleanLinkName, 'data:') === 0;
 
return !$isJs && !$isData;
});
}
}

app/Config/app.php

Open in GitHub
return [
//
'providers' => [
//
BookStack\Providers\CustomValidationServiceProvider::class,
],
//
];

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.