How to Fix an Exposed Laravel Telescope Dashboard
Your Laravel Telescope dashboard is publicly accessible in production, exposing requests, queries, and application data. Secure it now.
The Problem
An exposed Telescope dashboard allows anyone to view all incoming requests, database queries, cache operations, scheduled tasks, and application logs in real time. Telescope is a powerful debugging tool that records everything happening in your application, and public access gives attackers complete visibility into your application internals, including user data and authentication tokens.
How to Fix
-
1
Restrict Telescope access with the gate
In app/Providers/TelescopeServiceProvider.php, define the authorization gate:
{{ trim($paragraph)); ?>This ensures only specified users can access /telescope when authenticated.
-
2
Disable Telescope in production entirely
If you do not need Telescope in production, disable it. In your .env:
{{ trim($paragraph)); ?>Or conditionally register it only in local environments. In config/telescope.php:
{{ trim($paragraph)); ?>And in TelescopeServiceProvider:
{{ trim($paragraph)); ?>{{ trim($paragraph)); ?> -
3
Block the route at the web server level
As an additional layer, block /telescope in your web server config. In Nginx:
{{ trim($paragraph)); ?>In Apache .htaccess:
{{ trim($paragraph)); ?>This provides defense in depth even if the Laravel-level gate is misconfigured.
How to Verify
Open yourdomain.com/telescope in an incognito browser window (not logged in). You should see a 403 Forbidden or 404 Not Found page, not the Telescope dashboard. Also test the API route:
curl -I https://yourdomain.com/telescope/requests
This should return 403 or 404.
Prevention
Add TELESCOPE_ENABLED=false to your production .env template and deployment checklist. Only install Telescope as a dev dependency with composer require laravel/telescope --dev. Use StackShield to monitor for exposed Telescope dashboards continuously.
Frequently Asked Questions
What data does Telescope expose?
Telescope records and displays HTTP requests with headers and payloads, database queries with bindings, Redis commands, scheduled task output, queue job data, log entries, mail content, notifications, cache operations, and model events. This includes sensitive user data, authentication tokens, and internal application state.
Should I use Telescope in production at all?
Telescope is useful for production debugging but should only be enabled temporarily and always behind authentication. For ongoing production monitoring, dedicated tools like Laravel Pulse, Sentry, or Flare are better suited as they are designed for production use with proper access controls.
Related Guides
How to Fix Debug Mode Enabled in Production Laravel
APP_DEBUG=true in production exposes stack traces, environment variables, and database credentials. Learn how to disable it safely.
How to Fix Exposed Laravel Ignition Error Pages
Laravel Ignition error pages are visible in production, leaking stack traces and environment details. Learn how to disable them.
How to Fix an Exposed .env File in Laravel
Your Laravel .env file is publicly accessible, exposing database credentials and API keys. Learn how to block access and secure your secrets.
Detect This Automatically with StackShield
StackShield continuously monitors your Laravel application from the outside and alerts you when security issues are found. No installation required.
Start Free Trial