Consignes de mise à jour de la version 3.2 d'@lex Guestbook
vers la version 3.3
La version 3.3 comporte 2 principales nouveautés :
- Correction d'une FAILLE DE SECURITE MAJEURE
- Ajout d'une option permettant de contraindre les utilisateurs à
saisir un code de sécurité pour enregistrer un message
2 options s'offrent à vous : corriger uniquement la faille de
sécurité ou corriger la faille + passer à la version 3.3. L'ensemble des
nouveautés de cette version est disponible dans le fichier "changelog.txt".
Si vous souhaitez simplement corriger la
faille de sécurité
Remplacez le fichier "include/admin_include.php".
La mise à jour
est terminée.
Si vous souhaitez passer à la version 3.3
ATTENTION, ce tutorial
s'adresse uniquement aux utilisateurs disposant de la version 3.2 du livre d'or.
Les utilisateurs possédant une version plus ancienne doivent d'abord effectuer une
mise à jour vers la version 3.2, une documentation est disponible dans le
dossier "documentation" du script.
1- La structure des tables de la base a été modifiée, avec votre gestionnaire de BDD habituel (phpmyadmin par exemple), exécutez les
requêtes suivantes
(ATTENTION, vos noms de tables sont peut
être différents, les noms utilisés ici sont les noms par défaut) :
2- Téléchargez le zip de la nouvelle version et copiez/collez intégralement les dossiers et fichiers suivants :
"/admin/",
"/fonts/",
"/genImg/",
"/include/",
"/languages/",
"/templates/admin/options.htm",
"/add_message.php",
"/index.php",
"infos_code.php",
3- Récupérez le fichier "config/config_base.php" situé sur le serveur de
votre hébergeur.
Celui ci doit ressembler à cela :
<?php
$database_type = "MySQL";
$f_mysql_host = "localhost";
$f_mysql_user = "root";
$f_mysql_pass = "****";
$f_mysql_base = "guestbook";
$name_table['alex_livre_sessions'] = "alex_livre_sessions";
$name_table['alex_livre_users'] = "alex_livre_users";
$name_table['alex_livre_messages'] = "alex_livre_messages";
$name_table['alex_livre_censure'] = "alex_livre_censure";
$name_table['alex_livre_ip'] = "alex_livre_ip";
$name_table['alex_livre_smileys'] = "alex_livre_smileys";
$name_table['alex_img_verif_add'] = "alex_img_verif_add";
?>
Rajoutez la ligne en rouge à la fin du fichier.
3- Allez dans la partie admin du livre d'or, dans les options il y a un nouvel élément disponible : "Souhaitez vous imposer la saisie d'un code de sécurité à
l'utilisateur avant l'ajout d'un message ?". Paramétrez cette valeur comme
vous le souhaitez, puis cliquez sur "Enregistrer".
Cliquez sur le bouton "Enregistrer" même si vous n'avez pas modifié les valeurs
des options, cela mettra à jour un fichier de configuration et cette étape
est indispensable pour éviter les erreurs par la suite.
4- Si vous n'aviez pas personnalisé vos skins, vous pouvez intégralement
copier/coller le dossier "/templates/skins/", et pour vous la
mise à jour est terminée. Dans le cas contraire vous allez devoir
procéder à la mise à jour manuelle de votre skin, cette dernière étape est
détaillée à l'étape 5.
5- Cette étape est nécessaire uniquement si vous souhaitez conserver
l'apparence visuelle de votre livre d'or.
> Dans le dossier "templates/skins", sélectionnez le dossier
portant le nom du skin que vous allez devoir mettre à jour. La procédure est
à peu près similaire pour tous les skins.
> Editez le fichier "assembly.htm", repérez la fonction
javascript verif_add() et rajoutez les lignes en rouge :
function verif_add(){
var F = document.getElementById("form_add_guest");
var nom = F.nom.value;
var message = F.message_textarea.value;
<mx:bloc id="bloc_verif_mail">
var mail= F.email.value;
</mx:bloc id="bloc_verif_mail">
if (!nom){
alert("<mx:text id="erreur_add_nom"/> ");
return false;
}
else if (!message){
alert("<mx:text id="erreur_add_message"/> ");
return false;
}
<mx:bloc id="bloc_verif_mail2">
else if (!verif_mail(mail) && mail){
alert("<mx:text id="erreur_mail"/> ");
return false;
}
</mx:bloc id="bloc_verif_mail2">
else if (F.code_securite
&& !F.code_securite.value){
alert("<mx:text id="erreur_code_securite"/>");
return false;
}
}
> Dans le fichier "add_message.htm", vers la ligne 81 (la ligne exacte dépend de
votre configuration), repérez :
<tr>
<td width="100%" colspan="2" height="40">
<p align="center"><input type="submit" value="<mx:text id="ajouter_message_visiteur"/>"
name="ajouter" class="normal" /></p>
</td>
</tr>
Et remplacez par :
Si votre skin est différent de "double_NewLook" :
<mx:bloc id="bloc_code_securite">
<tr>
<td width="100%" colspan="2">
<p align="center"> <br><mx:text id="veuillez_taper_code"/> : (<a href="javascript:
script_popup('infos_code.php?lang=<mx:text id="lang"/>', 'down', 350, 280, 'scrollbars=yes')"><mx:text
id="a_quoi_ca_sert"/></a>)<br>
<img width="110" height="25" align="absmiddle" border="0" src="genImg/?id=<mx:text
id="id_genImg"/>" />
<input class="large" maxlength="4" type="text" name="code_securite" size="5"
style="font-family: Courier New; font-size: 10pt; text-align: center" />
<input type="hidden" name="num_id" value="<mx:text id="id_genImg"/>" /></p>
</td>
</tr>
</mx:bloc id="bloc_code_securite">
<tr>
<td width="100%" colspan="2" height="40">
<p align="center"> <br><input type="submit" value="<mx:text id="ajouter_message_visiteur"/>"
name="ajouter" class="normal" /></p>
</td>
</tr>
Si votre est "double_NewLook" :
<mx:bloc id="bloc_code_securite">
<tr>
<td width="500" class="row_gris" colspan="2">
<p align="center"><font class="Verdana_Noir"><mx:text id="veuillez_taper_code"/>
: (<a href="javascript: script_popup('infos_code.php?lang=<mx:text id="lang"/>',
'down', 350, 280, 'scrollbars=yes')" style="color: #000000"><mx:text id="a_quoi_ca_sert"/></a>)</font><br>
<img width="110" height="25" align="absmiddle" border="0" src="genImg/?id=<mx:text
id="id_genImg"/>" />
<input class="large" maxlength="4" type="text" name="code_securite" size="5"
style="font-family: Courier New; font-size: 10pt; text-align: center" />
<input type="hidden" name="num_id" value="<mx:text id="id_genImg"/>" /></p>
</td>
</tr>
</mx:bloc id="bloc_code_securite">
<tr>
<td width="500" colspan="2" class="row_gris" height="40">
<p align="center"> <br><input type="submit" value="<mx:text id="ajouter_message_visiteur"/>"
name="ajouter" class="normal" /></p>
</td>
</tr>
> Si vous avez limité le nombre de caractères possibles dans un message, vous
pouvez éventuellement rajouter cette étape. Repérez :
<mx:bloc id="bloc_max_car">
<input type="text" name="reste_car" value="<mx:text id="value_max_car"/>"
size="100" style="border: 0; background: transparent; font-size: 10px;
text-align: center; width: 100%" readonly />
</mx:bloc id="bloc_max_car">
Et remplacez par :
<mx:bloc id="bloc_max_car">
<input type="text" name="reste_car" value="<mx:text id="value_max_car"/>"
size="100" style="border: 0; background: transparent; font-size: 10px;
color: #A1A1A1;
text-align: center; width: 100%" readonly />
</mx:bloc id="bloc_max_car">
L'élément rajouté est en rouge. Le texte indiquant le nombre de caractères
restant est mis en gris. Vous pouvez changer le code de la couleur par celle de
votre choix, ou ignorer cette étape facultative.
> Repérez :
<input type="text" name="nom" size="34"
maxlength="50" />
Et remplacez par :
<input type="text" name="nom" size="34"
maxlength="50"<mx:text id="value_nom"/>/>
> Repérez :
<input type="text" name="email"
size="34" maxlength="150" />
Et remplacez par :
<input type="text" name="email"
size="34" maxlength="150"<mx:text id="value_email"/>/>
> Repérez :
<input type="text" name="site"
size="34" maxlength="150" />
Et remplacez par :
<input type="text" name="site"
size="34" maxlength="150"<mx:text id="value_site"/>/>
> Repérez :
<input type="text" name="ville_pays"
size="34" maxlength="60" />
Et remplacez par :
<input type="text" name="ville_pays"
size="34" maxlength="60"<mx:text id="value_ville_pays"/>/>
> Repérez :
<select size="1" name="note_site">
<option value="" selected>-</option>
<option value="10">10<mx:text id="note_super"/></option>
<option value="9">9</option>
<option value="8">8</option>
<option value="7">7</option>
<option value="6">6</option>
<option value="5">5<mx:text id="note_moyen"/></option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
<option value="0">0<mx:text id="note_rate"/></option>
</select>
Et remplacez par :
<select size="1" name="note_site">
<option value=""<mx:text id="select_note_none"/>>-</option>
<option value="10"<mx:text id="select_note_10"/>>10<mx:text id="note_super"/></option>
<option value="9"<mx:text id="select_note_9"/>>9</option>
<option value="8"<mx:text id="select_note_8"/>>8</option>
<option value="7"<mx:text id="select_note_7"/>>7</option>
<option value="6"<mx:text id="select_note_6"/>>6</option>
<option value="5"<mx:text id="select_note_5"/>>5<mx:text id="note_moyen"/></option>
<option value="4"<mx:text id="select_note_4"/>>4</option>
<option value="3"<mx:text id="select_note_3"/>>3</option>
<option value="2"<mx:text id="select_note_2"/>>2</option>
<option value="1"<mx:text id="select_note_1"/>>1</option>
<option value="0"<mx:text id="select_note_0"/>>0<mx:text id="note_rate"/></option>
</select>
> Repérez :
<textarea id="message_textarea" rows="8"
cols="69" onselect="verifCar(this); storeCaret(this); " onclick="verifCar(this);
storeCaret(this);" onkeyup="verifCar(this); storeCaret(this);" onFocus="verifCar(this)"
onKeyDown="verifCar(this)" onBlur="verifCar(this)" name="message_textarea" /></textarea>
Et remplacez par :
<textarea id="message_textarea" rows="8"
cols="69" onselect="verifCar(this); storeCaret(this); " onclick="verifCar(this);
storeCaret(this);" onkeyup="verifCar(this); storeCaret(this);" onFocus="verifCar(this)"
onKeyDown="verifCar(this)" onBlur="verifCar(this)" name="message_textarea" /><mx:text
id="value_message_textarea"/></textarea>
C'est terminé, votre script est mis à jour :o)