Aide - API php

Petit nouveau ! | 1 Messages

18 févr. 2022, 14:58

Hello all ! :D

depuis quelques jour je dev une api , c’est du php et l'idée c'est :

fait un Get pour save le cookie en var

jai intègre curl et ca post ensuite un header qui contien $data donc les valeurs des input de mon html.

Jusque là tout vas bien mais problème :? :

Si je met en “action” dans mon form html “api.php” je vois mon Post partir en localhost avec burp
Et si je met la valeur de action vers l*ip de mon app ça marche mais ça m’ouvre une page sur le panel admin de l’app

J’aimerais que mon api fasse un post vers le serveur avec le cookie mis à jour à chaque request (ça marche déjà ca) mais en backend genre aucun visu

Si quelqun peut m’aider à corriger mon code ca serait gentil

Thx all



/////////////////////////////////////////CODE HTML ////////////////////////////////////////INDEX.PHP/////////////////////////////////////////
<!DOCTYPE html>
<html>
<head>
<title> API</title>
</head>
<body>
<form method="POST" action="Urldemonapp" enctype="multipart/form-data">
<p>Votre Prenom : <input type="text" name="first_name"></p>
<p>Votre Nom de famille : <input type="text" name="last_name"></p>
<p>Votre Adresse email : <input type="text" name="email"></p>
<p>Votre Lieux de naissance : <input type="text" name="place_of_birth"></p>
<p>Votre Numéro de mobile : <input type="text" name="phone"></p>
<p>Votre Date de naissance : <input type="date" name="birthday"></p>
<p>Votre Pays : <input type="text" name="country"></p>
<p>Votre Canton : <input type="text" name="canton"></p>
<p>Votre NPA : <input type="text" name="Npa"></p>
<p>Votre Lieu : <input type="text" name="city"></p>
<p>Votre Adresse : <input type="text" name="address"></p>
<p>Votre Complement d'adresse : <input type="text" name="Complement_adresse"></p>
<input type="submit" name="submit" value="submit"/>
</form>


<head>
</body>
</html>
/////////////////////////////////////////CODE PHP/////////////////////////////////////////API.PHP/////////////////////////////////////////
<?php
require_once "index.html";
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////INPUTS VAR ///////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$prenom = htmlspecialchars($_POST['first_name']);
$Nomdefamille = htmlspecialchars($_POST['last_name']);
$Adresse_email = htmlspecialchars($_POST['email']);
$Lieu_de_naissance = htmlspecialchars($_POST['place_of_birth']);
$Pays = htmlspecialchars($_POST['country']);
$Date_de_naissance = htmlspecialchars($_POST['birthday']);
$Canton = htmlspecialchars($_POST['canton']);
$Adresse = htmlspecialchars($_POST['address']);
$Complement_adress = (int)$_POST['Complement_adresse'];
$Numero_de_telephone = (int)$_POST['phone'];
$NPA = (int)$_POST['Npa'];
$city = (int)$_POST['city'];
$data = [
"prenom" => $prenom,
"Nomdefamille" => $Nomdefamille,
"Adresse_email" => $Adresse_email,
"Lieu_de_naissance" => $Lieu_de_naissance,
"Pays" => $Pays,
"Date_de_naissance" => $Date_de_naissance,
"Numero_de_telephone" => $Numero_de_telephone,
"NPA" => $NPA,
"Canton" => $Canton,
"Pays" => $Pays,
"Adresse" => $Adresse,
"Complement_adress" => $Complement_adress,
];

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////INPUTS VAR ///////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//-//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////COOCKIE VAR AUTOUPDATE/////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

$url = "Urldemonapp";
$curlObj = curl_init();
//curl_setopt($curlObj, CURLOPT_URL, $url);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlObj, CURLOPT_HEADER, 1);
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curlObj);
preg_match_all('/^Set-Cookie:\s*([^;]*)/mi',
$result, $match_found);
$cookies = array();
foreach($match_found[1] as $item) {
parse_str($item, $cookie);
$cookies = array_merge($cookies, $cookie);
}
curl_close($curlObj);
////////////////////////////////////////////Save the Array string as string only///////////////////////////////////////////////////////
ob_start();
echo implode($cookies);
$HaveAcookie = ob_get_contents();
ob_end_clean();
echo $HaveAcookie;//Juste pour test enlever ca apres
////////////////////////////////////////////Save the Array string in as string only///////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////CURL VAR INCREMENT/////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function POST($DT, $data, $headers)
{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $DT,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 0,
CURLOPT_POST => true,
));
if (!empty($headers)) {
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
}
$response = curl_exec($curl);
$errno = curl_errno($curl);
if ($errno) {
return false;
}
curl_close($curl);
return $response;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////CURL VAR INCREMENT///////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////HEADER POST CONF//////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(isset($_POST['submit']))
if (function_exists('curl_file_create'))
$headers = ["Cookie: ci_session=$HaveAcookie",
"POST /dashboard/users/create HTTP/1.1",
"Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryYIYW2Nc6Mp4KoNyH",
"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7",
"User-Agent: TEST",
"Accept-Encoding: gzip, deflate",
];
POST("Urldemonapp", $data, $headers);
header("Location: index.html");
exit();
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////HEADER POST CONF///////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////.
:idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: