Maison > développement back-end > tutoriel php > Comment puis-je prévenir les attaques CSRF en PHP, en particulier en utilisant le framework Kohana ?

Comment puis-je prévenir les attaques CSRF en PHP, en particulier en utilisant le framework Kohana ?

Linda Hamilton
Libérer: 2024-11-29 04:47:27
original
187 Les gens l'ont consulté

How Can I Prevent CSRF Attacks in PHP, Specifically Using the Kohana Framework?

Prévenir la falsification de requêtes intersites (CSRF) en PHP

Question : Pouvez-vous expliquer comment appliquer les techniques mentionnées dans l'article Wikipédia pour empêcher CSRF en PHP, en particulier dans le Kohana framework ?

Réponse :

Pour empêcher CSRF en PHP, vous pouvez mettre en œuvre les mesures suivantes :

  • Valider un -time token dans les paramètres GET et POST. Ce jeton doit être unique pour chaque requête et doit expirer après une courte durée. Un exemple simple de ceci en PHP est fourni ci-dessous :
// On the page requesting to delete a record
session_start();
$token = isset($_SESSION['delete_customer_token']) ? $_SESSION['delete_customer_token'] : "";
if (!$token) {
    // Generate and persist a new token
    $token = md5(uniqid());
    $_SESSION['delete_customer_token']= $token;
}
session_write_close();
Copier après la connexion
// When actually performing the deletion
session_start();
// Validate the token
$token = isset($_SESSION['delete_customer_token']) ? $_SESSION['delete_customer_token'] : "";
if ($token && $_POST['token'] === $token) {
    // Delete the record
    ...
    // Remove the token after successful deletion
    unset($_SESSION['delete_customer_token']);
} else {
    // Log a potential CSRF attack
}
session_write_close();
Copier après la connexion
  • Vérifiez l'en-tête HTTP Referer. L'en-tête Referer contient l'URL de la page. qui faisait référence à la page actuelle. Si l'en-tête Referer ne correspond pas à la valeur attendue, cela peut indiquer une attaque CSRF.

Dans Kohana, vous pouvez récupérer l'URL du référent à l'aide de la méthode Request::referrer(). Pour vous assurer que l'URL de référence est légitime, vous pouvez la comparer à une liste de domaines de confiance autorisés à faire référence à votre site.

En mettant en œuvre ces mesures, vous pouvez contribuer à protéger vos applications PHP contre les attaques CSRF.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal