Créer et sécurisé une API en PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Créer et sécurisé une API en PHP

Re: Créer et sécurisé une API en PHP

par or 1 » 22 déc. 2022, 20:19

une url compliquée, ça aboutit au même résultat d'une url simple avec un paramètre.

avec ou sans clé, s'il n'y a qu'un seul client qui a accès à cette url, il est possible d'enregistrer les accès à la page.

Re: Créer et sécurisé une API en PHP

par pleiode » 22 déc. 2022, 20:03

une api est destinée au public. pour pouvoir l'utiliser, il faudra connaitre la valeur de $key, donc que vous la rendiez publique, donc cela ne sécurise rien.

avoir une clé par utilisateur, cela permet de compter le nombre d'appels par utilisateur, de bloquer un utilisateur.

Oui j'ai mis cela dans une variable pour le test mais je compte la donner à un client

Donc je peux, avec la clef, compter le nombres d'appels effectuer ?

Re: Créer et sécurisé une API en PHP

par pleiode » 22 déc. 2022, 20:01

Oui j'ai mis cela dans une variable pour le test mais je compte la donner à un client

Donc je peux, avec la clef, compter le nombres d'appels effectuer ?

Re: Créer et sécurisé une API en PHP

par or 1 » 22 déc. 2022, 19:58

une api est destinée au public. pour pouvoir l'utiliser, il faudra connaitre la valeur de $key, donc que vous la rendiez publique, donc cela ne sécurise rien.

avoir une clé par utilisateur, cela permet de compter le nombre d'appels par utilisateur, de bloquer un utilisateur.

Créer et sécurisé une API en PHP

par pleiode » 22 déc. 2022, 18:32

Hello

J'ai essayé de créer une API en PHP, je ne sais pas si c'est bien, mais ça fonctionne. Je voudrais sécuriser l'API avec une clé.

( $lat et $long renvoient les valeurs des paramètres &lat et &long de l'URL)
include 'src/callapi.php';
include 'src/variable.php';

$sortie = array('lat' => $lat, 'long' => $long, 'goodtosee' => $goodtosee);

echo json_encode($sortie);

J'ai essayé ceci pour sécuriser l'accès :
$key = "blablabla";

if ($_GET["key"] == $key) {
    $sortie = array('lat' => $lat, 'long' => $long, 'goodtosee' => $goodtosee);
    echo json_encode($sortie);
} else {
    echo "key not valid";
}
Si le paramètre clé dans l'url est égal à "blablabla" alors il affiche les données sinon il affiche "key not valid".

Est-ce que cela sécurise vraiment mon API ? Comment puis-je limiter le nombre d'appels par mois ?

Merci d'avance !