bonjour,
je voudrais écrire dans un fichier texte une commande iptable ,avec les information tiré de ma base de données,le problème es qu'il ne m'affiche qu'une seule ligne avec des données prise aléatoirement.je désirerais que ma commande iptable se répète en prenant tous les lignes de ma table sql a la suite. j'espere que vous pourrez m'aider ,voici le code que j'utilise:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 $chemin="/var/www"; $texte="test.txt"; $fp= fopen('$texte',"w+"); //On ouvre le fichier connexion_bdd(); // on écrit la requête sql $sql='select mac,port1,port2 from liste_user_tbl,listeparefeu_tbl,services_tbl order by listeparefeu_tbl.id_user'; $req = mysql_query($sql); // différents tests du déroulement de la requête if (!$req) { echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error(); exit; } if (mysql_num_rows($req) == 0) { echo "Aucune ligne trouvée, rien à afficher."; exit; } while ($rang=mysql_fetch_array($req)) { $mac=$rang ['mac']; $port1=$rang ['port1']; $port2=$rang ['port2']; } fwrite($fp,"iptables -A INPUT -i --dport".$port1." -m mac --mac-source ".$mac." -j ACCEPT\iptables -A INPUT -i --dport".$port2." -m mac --mac-source ".$mac." -j ACCEPT"); exec("sudo sh ".$chemin.$texte); fclose($fp); //On ferme le fichier
Partager