Maison > cadre php > Laravel > le corps du texte

Comment cacher son identifiant dans Laravel

PHPz
Libérer: 2023-04-21 10:47:13
original
714 Les gens l'ont consulté

Avec le développement d'applications Web, de plus en plus de personnes commencent à utiliser des frameworks pour créer leurs propres applications. L'un des frameworks les plus populaires est Laravel. Laravel fournit de nombreuses fonctions et outils qui facilitent le développement, y compris une fonction permettant de masquer les identifiants, ce qui est très utile pour certaines applications ayant des exigences de sécurité élevées.

Dans de nombreuses applications, la clé primaire d'un enregistrement de données est généralement un identifiant numérique, ce qui facilite la gestion et la récupération des données. Cependant, nous devons parfois protéger ces enregistrements de données pour éviter qu’ils ne soient facilement exposés. Par exemple, si nos enregistrements de données contiennent des informations sensibles, nous souhaitons autoriser l'accès uniquement aux utilisateurs authentifiés.

Dans Laravel, nous pouvons utiliser une fonctionnalité appelée liaison de modèle de route pour transmettre implicitement la valeur de l'identifiant. Cela signifie que nous pouvons masquer l'identifiant dans l'URL et continuer à l'utiliser pour interroger des enregistrements de données. Voyons comment cela fonctionne.

Nous devons d'abord définir une clé de routage dans notre modèle, ce sera le champ que nous utiliserons implicitement. Dans notre exemple, nous utiliserons le champ slug pour identifier nos enregistrements de données.

class Post extends Model
{
    public function getRouteKeyName()
    {
        return 'slug';
    }
}
Copier après la connexion

Ensuite, nous devons mettre à jour notre définition de routage pour utiliser notre modèle et nos clés de routage. Par exemple, nous pouvons utiliser la route suivante pour afficher une publication :

Route::get('/posts/{post}', function (Post $post) {
    return view('post', compact('post'));
});
Copier après la connexion

Cela donnera à notre application une URL qui affichera la publication avec l'identifiant 1 :

http://example.com/posts/1
Copier après la connexion

Cependant, afin de masquer l'identifiant, nous pouvons mettre à jour notre Route définition, utilisez un slug au lieu de id. Par exemple :

Route::get('/posts/{post:slug}', function (Post $post) {
    return view('post', compact('post'));
});
Copier après la connexion

Maintenant, nous pouvons utiliser le champ slug au lieu de l'identifiant dans notre URL. Par exemple, nous pouvons utiliser l'URL suivante pour afficher la même publication :

http://example.com/posts/my-first-post
Copier après la connexion

Lorsque nous ouvrirons cette URL, Laravel utilisera notre modèle pour trouver la publication correspondant au slug "my-first-post" et la passera en paramètre transmis à notre contrôleur. Nous pouvons accéder aux propriétés et méthodes de la publication de la même manière qu'avant, par exemple :

<h1>{{ $post->title }}</h1>
<p>{{ $post->content }}</p>
Copier après la connexion

En utilisant cette façon, nous pouvons masquer l'identifiant dans notre application et utiliser à la place des champs. Ceci est très utile dans certaines applications, telles que :

  • Empêcher les utilisateurs d'accéder directement aux données sensibles à partir des URL
  • Améliorer la sécurité de l'application et garantir que seuls les accès autorisés peuvent obtenir les données
  • Améliorer la convivialité et une meilleure utilisation , Des URL plus lisibles

En conclusion, le framework Laravel fournit de nombreux outils et fonctionnalités utiles, l'utilisation de la liaison de modèle de route peut nous aider à masquer les identifiants et à améliorer la sécurité et la convivialité de nos applications. Si vous êtes un développeur Laravel, il est recommandé d'essayer cette technique pour améliorer la qualité globale de votre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal