Comment empêcher les demandes d'usurpation d'identité en php

小云云
Libérer: 2023-03-22 14:16:02
original
2141 Les gens l'ont consulté

Cet article vous explique principalement comment empêcher les requêtes simulées en PHP. J'espère qu'il pourra vous aider.

1. Certains sites Web utilisent la méthode de détection de la densité des connexions à partir de cette adresse IP. Après plusieurs connexions, vous devez saisir un code de vérification. À ce stade, la soumission de la simulation CURL doit analyser la vérification. image de code, de sorte que cela prend beaucoup de temps. Bien sûr, cela permet d'éviter que la connexion n'explose et que les données utilisateur ne soient divulguées.

2. Une autre méthode consiste à enregistrer le code aléatoire généré directement dans la session, puis à le placer dans le champ caché de la saisie. C'est bien pire que le code de vérification.

3. Notez que le javascript lui-même ne peut pas être soumis sur plusieurs domaines, non pas parce que cela ne peut pas être fait, mais pour empêcher d'autres personnes de voler de manière malveillante des informations sur l'utilisateur, par exemple en cliquant pour ouvrir son site Web, en utilisant une iframe pour ouvrir un site Web normal. page Web, puis en l'ouvrant dans un autre vol dans une iframe.

Pour obtenir un accès inter-domaines ajax, vous devez définir

header("Access-Control-Allow-Origin:*"); //跨域权限设置,允许所有
Copier après la connexion

Pour empêcher l'accès inter-domaines ajax, vous devez définir

header("Access-Control-Allow-Origin:http://www.test.com"); //只允许test.com跨域提交数据
Copier après la connexion

4. Si vous souhaitez empêcher les requêtes simulées PHP, telles que les requêtes de publication, vous pouvez la définir comme une requête ajax avant qu'elle puisse être traitée.

//判断是否为ajax请求,防止别人利用curl的post抓取数据
if(isset($_SERVER["HTTP_X_REQUESTED_WITH"])&&strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){ }
Copier après la connexion

Solution complète :

header("Access-Control-Allow-Origin:http://leshen.applinzi.com/cet"); //只允许本站提交数据,前端防ajax跨域,其实js本来就不能跨域 

//判断是否为ajax请求,后端防止别人利用curl的post抓取数据
if(isset($_SERVER["HTTP_X_REQUESTED_WITH"])&&strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){ 
    //处理业务逻辑
}else{ 
    echo "we caught you! you have no access!";
};
Copier après la connexion

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!

Étiquettes associées:
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