Maison > développement back-end > tutoriel php > Comment puis-je analyser les requêtes POST Multipart/Form-Data en PHP sans utiliser les fonctions intégrées ?

Comment puis-je analyser les requêtes POST Multipart/Form-Data en PHP sans utiliser les fonctions intégrées ?

Mary-Kate Olsen
Libérer: 2024-12-05 04:29:10
original
377 Les gens l'ont consulté

How Can I Parse Multipart/Form-Data POST Requests in PHP Without Using Built-in Functions?

Analyse des requêtes POST Multipart/Form-Data sans intervention de PHP

Malgré les limitations de php://input et $HTTP_RAW_POST_DATA dans la gestion de multipart /form-data Requêtes POST, il existe un moyen d'accéder aux données brutes directement.

Le défi de l'analyse des données RAW multipart/form-Data

PHP analyse automatiquement les requêtes multipart/form-data, ce qui rend impossible l'obtention directe des données brutes. Cela peut poser un problème lorsqu'il s'agit de données mal formatées que PHP ne peut pas analyser.

Piratage autour de la limitation

La solution réside dans la modification de l'en-tête de la requête à l'aide d'une configuration Apache. directif. En changeant le type de contenu de multipart/form-data à multipart/form-data-alternate, PHP est amené à ne pas analyser la requête.

Modification de la configuration Apache

Le code suivant peut être ajouté à la configuration Apache :

<Location "/backend/XXX.php">
    SetEnvIf Content-Type ^(multipart/form-data)(.*) NEW_CONTENT_TYPE=multipart/form-data-alternate OLD_CONTENT_TYPE=
    RequestHeader set Content-Type %{NEW_CONTENT_TYPE}e env=NEW_CONTENT_TYPE
</Location> 
Copier après la connexion

Cette directive modifie l'en-tête Content-Type des requêtes entrantes en /backend/XXX.php de multipart/form-data à multipart/form-data-alternate, empêchant PHP de tenter d'analyser la requête.

Récupération des données brutes et analyse

Après avoir modifié la configuration, les données brutes peuvent être récupérées depuis php://input et analysées manuellement. Cependant, cette méthode comporte une mise en garde : le tableau $_FILES sera vide.

Cette solution de contournement n'est pas idéale, mais elle fournit une solution pour les situations où l'analyse PHP par défaut échoue.

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