Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2011, 11h31   #1
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : juin 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2011
Messages : 3
Points : 0
Points : 0
Par défaut Mise à jour non désiré d'un fichier

Bonjour à tous !

Donc voici la situation.

Je suis en train de développer une page en PHP me permettant de mettre à jour un fichier de conf nagios sous linux via un formulaire.

Il s'agit du fichier /usr/localnagios/etc/objetcs/localhost.cfg pour lequel je dois rentrer à la fin un nom d'hôte de la manière suivante :

Code :
1
2
3
4
5
6
define host{
        use template-host
        host_name "hostname"
        alias no_alias
        address "ipaddress"
}
Code du formulaire à remplir (accueil.php)

Code :
1
2
3
4
5
6
7
8
9
10
11
<p>
    <b>Veuillez taper le nom et l'adresse IP du serveur a superviser</b>
</p>
 
<form action="cible.php" method="post">
<p>
        <input type="text" name="hostname" />
        <input type="text" name="ipaddress" />
        <input type="submit" value="Valider" />
</p>
</form>
Code du fichier qui traite les infos du formulaire et met à jour mon fichier localhost.cfg (cible.php)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
$file = fopen('/usr/local/nagios/etc/objects/localhost.cfg', 'a+');
$host1 ='
define host{
        use template-host
        host_name ';
$host2 = $_POST['hostname'];
$host3 = '
        alias no_alias
        address ';
$host4 = $_POST['ipaddress'];
$host5 = '
}
';
$host = $host1.$host2.$host3.$host4.$host5;
 
fputs($file, $host);
fclose ($file);
Mon formulaire ainsi que la page qui traite les infos renvoyées fonctionnent parfaitement et met à jour mon fichier conf comme je le souhaite.

Par contre, ma page cible.php semble mettre à jour tout seul mon fichier sans je fasse quoi que ce soit.

Il me rajoute environ toutes les 2-3 minutes l'entrée suivante en continu :



Cela correspond à ma variable $host sans la concaténation avec $host2 (hostname) et $host4(ipaddress).

Existe-t-il un moyen de bloquer cela, même une solution de contournement ?

Merci par avance
FordPrefect est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 14h16   #2
Membre habitué
 
Inscription : décembre 2007
Messages : 181
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 181
Points : 140
Points : 140
Tu as sans doute quelque chose qui fait appel à ton fichier de modif ou ton formulaire, mais un test basique consiste à tester avant ouverture/ecriture de ton fichier de destination:
Code :
1
2
3
if(isset($_POST['champ'])){
//bloc de mise à jour
}
Tout simplement
roduce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 15h08   #3
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : juin 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : juin 2011
Messages : 3
Points : 0
Points : 0
arf j'ai trouvé entre temps.

C'était un de mes fichiers de tests qui posait problème et entrait des infos erronées.

Merci pour la réponse en tout cas
FordPrefect est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h51.


 
 
 
 
Partenaires

Hébergement Web