You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
3.6 KiB

<?php
//from : https://api.wordpress.org/secret-key/1.1/salt
define('AUTH_KEY', '2(QMu)jt|2!(9t]V!4SB/y,+T]LcvGZ8-sV@vS6RUgR!_]&S}{6/RZjAmLeW28On');
3 years ago
//header('Content-type: text/plain;charset=utf-8');
header('Content-type: application/json;charset=utf-8');
$vars=array();
foreach(array('REQUEST_METHOD',
'REDIRECT_URL',
'QUERY_STRING',
'REQUEST_URI',
'REQUEST_TIME_FLOAT',
'REQUEST_TIME') as $key)
{
3 years ago
if(isset($_SERVER[$key]))
{
$vars[$key] = $_SERVER[$key];
}
else
{
$vars[$key] = "";
}
}
3 years ago
//echo json_encode($vars);
$query = preg_replace("/^\/api/","",$vars['REDIRECT_URL']);
//echo $query;
switch($query)
{
case "/toto/" :
case "/test/" :
header('HTTP/1.1 200 OK');
echo json_encode( (object) array('status'=>'active') );
break;
case "/key/" :
case "/key" :
3 years ago
if($vars['REQUEST_METHOD'] == "POST")
{
3 years ago
if(!empty($_POST['user']) && !empty($_POST['password']))
{
$user = $_POST['user'];
$password = md5($_POST['password'].AUTH_KEY);
$response = array('user'=>$user,'md5'=>$password);
//essayer de se connecter à ùysql (nb sur un xampp/wammp souvent l'utilisateur root avec mot de passe vide)
//https://www.tutorialspoint.com/mysqli/mysqli_connection.htm
// na pas oublier de convertir les → en ->
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'apib3';
//si je préfixe avec @je n'aurais pas le message d'erreur.
@ $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
if($mysqli->connect_errno ) {
header('HTTP/1.1 500 Internal Server Error');
echo json_encode( (object) array('error'=>"Connect failed: ".$mysqli->connect_error ));
exit();
}
else {
$response['connection'] = 'successful';
// vérifier si l'utilisateur existe
$sql = "SELECT * FROM `user` WHERE `user` LIKE '".$user."' AND `password` ='".$password."'";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
//
}
else {
$sql ="INSERT INTO `user` VALUES (NULL,'".$user."','".$password."')";
$result = $mysqli->query($sql);
if($mysqli->connect_errno ) {
header('HTTP/1.1 500 Internal Server Error');
echo json_encode( (object) array('error'=>"Insert failed: ".$mysqli->connect_error ));
exit();
}
else {
$response['insert'] = 'successful';
}
}
}
$mysqli->close();
header('HTTP/1.1 200 OK');
echo json_encode( (object) $response );
3 years ago
}
else
{
3 years ago
echo json_encode( (object) array('error'=>'PLease provide a valid user and matching password') );
}
3 years ago
}
else
{
header('HTTP/1.1 405 Method Not Allowed');
echo json_encode( (object) array('error'=>'/key/ requires POST method') );
}
break;
default :
// header('HTTP/1.1 404 Not Found');
header('HTTP/1.1 501 Not Implemented');
echo json_encode( (object) array('error'=>'This path has not been implemented') );
break;
}