Heim > Artikel > PHP-Framework > So verbergen Sie das Routing in Laravel
Laravel ist ein beliebtes PHP-Framework und seine Entwickler stellen uns ein sehr leistungsfähiges Routing-System zur Verfügung. Durch die Verwendung von Routing in Laravel können URLs problemlos einem bestimmten Back-End-Geschäftslogikcode zugeordnet werden, sodass wir problemlos RESTful-API-Dienste und Webseiten schreiben können. In tatsächlichen Anwendungen möchten wir jedoch manchmal, dass auf einige Routen nur unter bestimmten Umständen zugegriffen werden kann. Zu diesem Zeitpunkt ist die von Laravel bereitgestellte versteckte Routing-Funktion sehr nützlich.
Was ist Laravel Hidden Routing?
Laravel Hidden Routing bedeutet, dass der Routing-Pfad nicht direkt in der Routing-Definition angezeigt wird. Auf den Pfad kann nur über bestimmte Parameter oder den Aufruf einer bestimmten Methode zugegriffen werden. Der Zweck des versteckten Routings besteht darin, einige sensible Daten, wie z. B. das Zurücksetzen von Passwörtern, die Anmeldung und andere Betriebsschnittstellen, vor böswilligem Zugriff zu schützen.
Wie implementiert man verstecktes Routing in Laravel?
Es gibt viele Möglichkeiten, verstecktes Routing in Laravel zu implementieren. Hier sind zwei häufig verwendete Methoden.
Laravels benanntes Routing bietet die Funktion, Routen-Aliase zu definieren. In der Routing-Definition können wir die Methode „->name()“ verwenden, um einen Alias zu definieren, zum Beispiel:
Route::get('index', 'HomeController@index')->name('home');
Diese Codezeile definiert einen Routing-Alias mit dem Namen „home“, der entspricht zum 'Index'-Pfad.
Beim Aufruf der Route müssen wir nur einen Alias verwenden, um den gleichen Zugriffseffekt wie beim Pfad zu erzielen:
<a href="{{ route('home') }}">Home</a>
In diesem Fall kann der Benutzer nur auf klicken URL-Link zum Zugriff auf diese Route, auf die nicht durch manuelle Eingabe des URL-Pfads zugegriffen werden kann.
Laravel bietet Middleware-Funktionen (Middleware) zur Verarbeitung von Anfragen und Antworten. Wir können die Eigenschaften von Middleware verwenden, um den Zugriff darauf zu steuern Routen. Zuerst müssen wir eine benutzerdefinierte Middleware erstellen:
php artisan make:middleware CheckPass
Diese Codezeile erstellt eine Middleware-Klasse namens CheckPass im Verzeichnis app/Http/Middleware. Wir können eine Prüfmethode für Eingabeparameter in dieser Klasse definieren, zum Beispiel:
class CheckPass { public function handle($request, Closure $next) { if ($request->has('password') && $request->input('password') === 'password') { return $next($request); } return abort(403, 'Unauthorized action.'); } }
Hier wird eine CheckPass-Middleware definiert, um zu prüfen, ob der vom Benutzer übergebene Passwortparameter „Passwort“ ist Bedingungen erlauben den Zugriff, andernfalls wird eine Fehlerseite zurückgegeben.
Als nächstes verwenden wir diesen Middleware-Schutz in der Routendefinition:
Route::get('/example', 'ExampleController@showResult')->middleware('protect');
Beim Aufrufen der Route muss der Benutzer einen Parameter namens „Passwort“ über eine GET-Anfrage senden, um ihn abzurufen die richtige Antwort.
Zusammenfassung
Das von Laravel bereitgestellte Routing-System ist sehr flexibel und einfach zu verwenden, aber in tatsächlichen Anwendungsszenarien benötigen wir oft eine fortgeschrittenere Verarbeitungslogik, wie zum Beispiel das versteckte Routing von Laravel . Wir können benanntes Routing oder Middleware verwenden, um diese Funktion zu implementieren, was den Benutzern ein besseres Erlebnis bieten und gleichzeitig die Sicherheit unserer Daten und Anwendungen schützen kann.
Das obige ist der detaillierte Inhalt vonSo verbergen Sie das Routing in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!