Sie können die IP der Person, die die API aufgerufen hat, abrufen und sie in eine Datenbank hochladen, wobei die IP und der Zeitpunkt der Übermittlung eingefügt werden. Überprüfen Sie dann oben auf Ihrer API-Seite, ob die IP des Besuchers stimmt (ich bin mir nicht sicher, ob dies mit cURL funktioniert, aber Sie könnten einfach $ _SERVER ['remote_addr'] verwenden) und wenn es auf dem Datenbank, verifizieren Sie, ob etwa eine Stunde von der Einreichung verstrichen ist. In diesem Fall können Sie den Datensatz löschen. Wenn nicht, lassen Sie den Besucher die API aufrufen und seine IP in die Datenbank einfügen.
<?php
$conn = new mysqli(host,user,password,database);
$sql = "SELECT * FROM ip";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
if($row['ip'] == VISITOR'S IP) {
--GET THE TIME OF THE IP SUBMISSION--
if($time > 1hour) {
$sql = "DELETE FROM ip WHERE ip="$row['ip'];
--LET API WORK--
}
}
}
$sql = "INSERT INTO ip (ip) VALUES (--VISITOR'S IP--)";
$result = $conn->query($sql);
if(!$result) {
echo "SQL Error : ".$sql."<br> Error : ".$conn->error;
}
else {
$conn->close();
}
?>
Ich hoffe, das wird Ihnen helfen. Prost!
Nun, diese Art von Fragen sollte eine Art von Code oder etwas zu beweisen, dass Sie in ständiger Forschung sind und Ihr Bestes versuchen. – manix
Protokollieren Sie die IP, die Anzahl der Anfragen und die Uhrzeit/das Datum ...? Überprüfen Sie die Protokolle für eine bestimmte IP-Adresse und vergleichen Sie sie mit dem konfigurierten Kontingent, egal ob täglich, wöchentlich, monatlich usw. Diese Implementierung kann von trivial (wie ich es geplant habe) bis hin zu anspruchsvoll reichen. Was sind Ihre Anforderungen? –
Beginnen Sie von den Grundlagen. Weißt du, wie man die IP bekommt? Weißt du, wie man sie in einer Datenbank speichert? –