sécurité srcypt
Bonjour,
Point de vue sécurité, qu'en pensez-vous ?
Merci
Jack Bocar
<?php
echo '<a href="'.$_SERVER['PHP_SELF'].'?page=home">Home</a> ';
echo '<a href="'.$_SERVER['PHP_SELF'].'?page=links">Links</a> ';
echo '<a href="'.$_SERVER['PHP_SELF'].'?page=contact">Contact</a> ';
echo '<a href="'.$_SERVER['PHP_SELF'].'?page=temple">Temple</a> ';
echo '<a href="'.$_SERVER['PHP_SELF'].'?page=ordre">Ordre</a> ';
$pages = array('home','links','contact','temple');
// Si la page est reconnue
if ( in_array($_GET['page'], $pages) ) {
include 'pages/'.$_GET['page'].'.php';
// Autrement utilisez la page défaut...
} else {
include 'pages/home.php';
}
?>
le 02/04/2006 à 11:07
Bzh
Oui ! Ca à l'air pas mal !
En tout cas pas de faille include à signaler !!!
C'est très propre...
Bye et bonne continuation...
Bonjour,
Merci.
J'ai un problème avec ce scrypt, pour des pages mises toutes dans un répertoire /pages/, c'est bien, mais si on a 250 pages et 15 rubriques, il faut les classer par répertoires, et là, je ne comprends pas comment faire.
<?php
echo '<a href="'.$_SERVER['PHP_SELF'].'?page=home" class="nav">Home</a>';
?>
Ceci me donne la racine du site : http://localhost/test/
pour avoir la racine de http://localhost/test/rep/ comment faire,
visiblement 'PHP_SELF', n'est pas bon dans ce ca ?
Merci de votre aide
Jack Bocar
le 02/04/2006 à 15:27
Bzh
Utilise un tableau associatif !
$pages = array("acceuil" => "page/acceuil.php","forum"=>forum/index.php");
etc...
Voili...
Bonjour,
Je teste le script, je ne connaissais pas le système. C'est assez génial, le fait de n'avoir qu'une seule page "index.php" et toutes les pages de texte en "include" sur cette page "index.php".
Ca a l'avantage de soulager les répertoires des dizaines de pages "php", qui ne sont plus nécessaire, reste que les pages "textes".
Avec ce script, est-il plus judicieux de passer toutes les pages de texte dans une base de données ou cela n'est-il pas nécessaire ?
Autre chose, j'ai dans certains répertoires plus de 50 pages. Y a t'il une limite raisonnable pour le bon fonctionnement du script dans le tableau 'array" :
$pages = array(' ');
Ou, puis-je en mettre autant que je le veux ?
Merci de m'éclairer
Jack Bocar
le 03/04/2006 à 18:17
Bzh
J' ai pour habitude de toujours construire mon site de cette façon !
Je ne mes suis jamais retrouvé avec plus de 50 "rubriques" !
Ce que je veux dire, c'est que je crée les scripts gérants les rubriques dans des fichiers séparées MAIS le contenu se trouve dans la base de donnée.
Par exemple, imaginons pour le php facile, il y aurait 15 scripts se trouvant dans un même dossier:
* Accueil
* A propos
* Astuces
* Articles
* Chat / IRC
* Comment faire
* Cours
* Download
* Forums
* Galerie
* Livres
* Partenaires
* Scripts
* Sondage
* Wall
Et que tout le contenu de ces rubriques là ce trouvent dans la base de donnée. Donc tu te retrouve avec un ensemble de 17 pages en comptant la feuille de style et en oubliant la partie administration. Seulement 17 pages.
Ce qui n'empêche en rien de se retrouver avec des milliers de pages puisque le contenu se trouve dans la base de donné...
Enfin, j'ai pour habitude, personnelement de construire mes sites de cette façon là.
Bye...
Bonjour,
J'ai besoin de conseils pour modifier un script :
/*page index.php*/
<?php
include (PATH_INCLUDE.'/includes/top.php');
include (PATH_INCLUDE.'/commanderies/pages/1_commanderies.php');
include (PATH_INCLUDE.'/menus/commanderies_A.php');
include (PATH_INCLUDE.'/includes/footer.php');
?>
/***********************************************************/
J'aimerai changer l'organisation de mon site avec ce script :
/*1_commanderies.php*/
<div id="main" class="column">
<?php
$pages = array('commanderies_A','commanderies_B','commanderies_C','commanderies_D','commanderies_E');
// Si la page est reconnue
if ( in_array($_GET['page'], $pages) ) {
include 'pages/'.$_GET['page'].'.php';
// Autrement utilisez la page défaut...
} else {
include 'pages/home.php';
}
?>
</div>
/************************************************/
/* pages commanderies lettre A */
<?php
$sql = 'SELECT id, nom, dep, infos FROM commanderies WHERE nom REGEXP "^A" ORDER BY nom ASC';
$resultat = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_num_rows($resultat);
while ($data = mysql_fetch_array($resultat)) {
$id=$data['id'];
$nom=$data['nom'];
$dep=$data['dep'];
$date=$data['date'];
$infos=$data['infos'];
echo '<a name="'.($id).'"></a>';
echo '<p class="p">';
echo '<b class="style">'. ($nom).' '. ($dep).'</b>';
echo '<span class="com">'. ($infos).'</span>';
echo '</p>';
}
mysql_free_result($resultat);
?>
/********************************************************/
/*menu commanderies lettre A*/
<div id="sidebar" class="column">
<div class="menuBar">Commanderies [A]</div>
<?php
$sql = 'SELECT id, nom FROM commanderies WHERE nom REGEXP "^A" ORDER BY nom ASC';
$resultat = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_num_rows($resultat);
while ($data = mysql_fetch_array($resultat)) {
$id=$data['id'];
$nom=$data['nom'];
echo '<a href="'.$_SERVER['PHP_SELF'].'?page=commanderies_1#'. ($id).'" class="menuNav">'. ($nom).'</a>';
}
mysql_free_result($resultat);
?>
</div>
/*******************************************************/
J'aimerais savoir, comment faire pour associer une page et un menu dans mon tableau array ?
Tout d'abord est-ce possible ?
Merci
Jack Bocar
le 04/04/2006 à 11:29
Bzh
Et avec un tableau associatif ???
$tableau = array('clé' => 'valeur','clé 2' => 'valeur 2');
Bye...
Bonjour,
Je ne suis pas très doué, alors après avoir parcouru les pages doc.php et les tableaux, j'ai pas tout compris. Je vais essayer ceci :
$pages = array('comm_1 => 'menu_1','comm_2' => 'menu_2');
Ca devrait fonctionner non ?
Merci de me corriger si ce n'est pas ça.
Jack Bocar
le 04/04/2006 à 18:02
Bzh
Oui oui ! Enfin la syntaxe est bonne !
Maintenant, pour être sincère j'ai pas exactement tout compris ce que tu voulais faire...