récupérer tous les POST ?

Petit nouveau ! | 6 Messages

03 janv. 2012, 22:21

Bonjour,
je suis confronté à un problème de récupération de post d'un formulaire. Je pose ma question et ensuite j'explique le pourquoi:

Question : Comment peut on récupérer tout ce qui a été envoyé par une méthode "post" dans un formulaire ?

le pourquoi:
Nous avons un site internet de galerie photo sur lequelun hackera réussi 3 fois à mettre un fichier à lui (voir php-debutant/fonction-preg-replace-util ... 61933.html).

En cherchant dans les logs, il semble qu'il ait réussi cela avec un POST. N'étant pas totalement certain de cela, Je souhaiterai donc dans un premier temps espionner ma page web et logger tous les "post" et leur contenu.

S'il revient et remet son fichier de cette manière, je pourrai trouver la faille.

Voilà, vous savez tout. Je vous remercie d'avance de toute aide possible.

Cordialement.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 janv. 2012, 23:13

Salut,

Tu peux serialiser le tableau et le stocker dans un champ, tu peux aussi simplement utiliser un foreach pour mettre touts ce qu'il y a dans le tableaux dans une variable puis en base.
Mais je crois que j'utiliserai les fonctions de buffurisation et un var_dump pour avoir un truc plus sympa à voir.

Par exemple
<?php
ob_start();
var_dump();
$retour = ob_get_contents();
// idem pour get / files et les autres truc ms que tu pourrais utiliser. 
?>
Récupère le référer aussi, et tout ce que tu l'ex prendre d'utile dans $_SERVER.

@+
Édit : correction boulette (cf plus bas xTG ^^)
Modifié en dernier par moogli le 04 janv. 2012, 08:04, modifié 1 fois.
Il en faut peu pour être heureux ......

Petit nouveau ! | 6 Messages

04 janv. 2012, 00:33

Merci.
J'ai bien compris le role de var_dump mais je ne vois pas ce que je dois faire de ob_start() et ob_get_contents()
J'ai fais une petite page de test de ces fonctions et ça marche bien

Code : Tout sélectionner

<form method="post" action="testpost.php"> <textarea name="message" rows="8" cols="45"> Votre message ici. </textarea> <INPUT type=submit value=Envoyer> </form> <?php var_dump($_POST); var_dump($_SERVER); ?>

Petit nouveau ! | 6 Messages

04 janv. 2012, 00:54

Merci.
J'ai bien compris le role de var_dump mais je ne vois pas ce que je dois faire de ob_start() et ob_get_contents()
Autant pour moi, j'ai compris.
C'est pour ne pas afficher les vardump

Merci beaucoup

ViPHP
xTG
ViPHP | 7331 Messages

04 janv. 2012, 07:50

Désolé mais là c'était trop gros...
Tu peux stériliser le tableau
Des problèmes avec ta copine qui te font la verbe malencontreuse ? :mrgreen:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

04 janv. 2012, 08:00

Raaaaaa putain de correction automatique sur mon téléphone :'(
Ça m'apprendra à pas vérifier, merci la pomme ^^

Pis pourquoi tu parle de ma chérie la stérilisation c'est pas le truc pour les conserves ? :mrgreen:

non je ne fait pas de pub ;)
Il en faut peu pour être heureux ......