ho implementato un welcome portal esterno in php per l'hotspot di mikrotik.
Ovviamente sto utilizzando le api, tutto procede bene ma ora sono fermo nella gestione dinamica dei walled garden. Premessa, se utilizzo i social login devo necessariamente inserire degli host nei walled garden affinchè i server per l'autenticazione siano raggiungibili. Però se cosi faccio l'app di facebook funzionerebbe anche prima di effettuare il login all'hotspot. Quindi ho pensato di inserire gli host nel walled garden in modo dinamico ovvero subito prima dalla richiesta di autenticazione e rimuoverli sibito dopo l'esecuzione dello script.
attualmente scrivo il walled garden in questo modo:
- Codice: Seleziona tutto
<?php session_start();
require_once 'inc/routeros_api.class.php';
$API = new RouterosAPI();
$API->debug = false;
if ($API->connect($ip, $port_mik, $user, $password)) {
$API->comm("/ip/hotspot/walled-garden/add", array(
"action" => "allow",
"dst-host" => "*facebook.it",
"src-address" => $_SESSION['ip'],
));
$API->disconnect();
}else{
echo 'error c RouterosAPI!!';
}
?>
ora sono fermo allo script per l'eliminazione.
per eliminare l'host io conosco solo il src-address attraverso la viariabile (creata da me) $_SESSION['ip']. quindi dovrei eseguire un ip/hotspot/walled-garden/remove [find src-address=$_SESSION['ip']]
tradotto in php api
- Codice: Seleziona tutto
$API->write("/ip/hotspot/walled-garden/remove", false);
$API->write("=src-address=$_SESSION['ip']");
$API->read();
ma non mi funziona..
dove sbaglio???
ho provato diverse variante ma il risultato non cambia.
grazie a tutti per il supporto