Je suis un débutant et un problème de sécurité m'est soudainement apparu lorsque j'écrivais du code aujourd'hui.
Pour diverses requêtes ajax, les pirates peuvent-ils soumettre du code en externe ? Parce que le navigateur de fichiers JS peut le voir, c'est-à-dire qu'il peut connaître votre code. Ainsi, si un pirate informatique utilise notre nom de domaine pour le soumettre en externe, PHP peut-il déterminer s'il est légal ? Par exemple, déterminer si nos propres fichiers ont été soumis ?
Par exemple, mon fichier js a un code
$('input').click(function(){ $.post('index.php',{a:xx,b:xx},function(a){ xxxxx }) }) 那么如果黑客通过外部提交 xxxxxxxxxxx $('input').click(function(){ xxxxxx $.post('http://www.xxxx.com/index.php',{a:xx,b:xx},function(a){ xxxxx }) xxxxxx }) xxxxxxxxxxx
Comment dois-je l'écrire en PHP pour l'empêcher ?
Comprendre CSRF ?
Les soumissions externes sont normales et l'injection doit être évitée par des procédures.
D'après ce que vous avez dit, les données soumises par la simulation ajax externe sont inter-domaines.
Vous avez plusieurs façons de gérer cela. Par exemple :
1. Vous pouvez définir des autorisations d'accès. Par exemple, seuls les membres connectés peuvent le voir ou limiter le nom de domaine. Cela rendra l'exploration difficile pour les autres. Mais cet obstacle peut toujours être surmonté.
2. Utilisez la session pour générer un jeton. Vérifiez la session après la soumission. Si elle est légale, déconnectez-vous immédiatement pour vous assurer qu'il y a un nouveau jeton à chaque fois.
3. Analysez les journaux d'accès et restreignez les accès IP suspects au niveau du serveur.
4. Enregistrez la densité de fonctionnement de chaque IP Si elle est plus fréquente, vous pouvez demander des codes de vérification de temps en temps.
...
Il existe de nombreuses méthodes, mais aucune n'est la meilleure. Il est recommandé d'adopter une approche à plusieurs volets. J'espère adopter~