Laravel (PHP)
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class BlockDisposableEmail
{
public function handle(Request $request, Closure $next)
{
$email = $request->input('email');
if (!$email) return $next($request);
try {
$response = \Http::withHeaders([
'Authorization' => 'Bearer ' . env('DG_KEY'),
])->get('https://api.disposableguard.com/v1/check', [
'email' => $email,
]);
if ($response->successful() && $response->json('is_disposable')) {
return response()->json([
'error' => 'Please use a real email address.',
], 400);
}
} catch (\Exception $e) {
// fail-open
}
return $next($request);
}
}Notes
Register the middleware in `app/Http/Kernel.php` and apply it to your signup route.