[php][html] confidentialité d'éléments texte
Fermé
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
-
6 janv. 2009 à 14:52
niahoo Messages postés 247 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 23 mai 2010 - 6 janv. 2009 à 19:19
niahoo Messages postés 247 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 23 mai 2010 - 6 janv. 2009 à 19:19
A voir également:
- [php][html] confidentialité d'éléments texte
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Paramètres de confidentialité - Guide
- Editeur html - Télécharger - HTML
6 réponses
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
19
6 janv. 2009 à 15:06
6 janv. 2009 à 15:06
ah je me suis mal exprimé alors.
je souhaite que l'article soit visible par mes professeurs, mais que certaines parties ne le soient pas.
exemple:
le mot de passe pour la réserve de champagne du patron, <conf> qui est azerty123,</conf> permettent de boire un coup après le boulot.
(désolé pas trouvé mieux comme exemple ^^)
je souhaite que l'article soit visible par mes professeurs, mais que certaines parties ne le soient pas.
exemple:
le mot de passe pour la réserve de champagne du patron, <conf> qui est azerty123,</conf> permettent de boire un coup après le boulot.
(désolé pas trouvé mieux comme exemple ^^)
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
6 janv. 2009 à 15:15
6 janv. 2009 à 15:15
Bonjour Niahoo,
Alors je pense avoir compris ta problématique, mais peut-être que je n'ai pas bien saisi certains points.
A mon avis, la solution la plus simple, c'est d'utiliser des fichiers xml. Comme ça tu peux définir ta balise <conf></conf> comme un tag xml.
Ensuite, tu stockes tes articles (contenant des tags <html>, <head>, <body>, <div>, <conf>... tout ce que tu veux dans ta base de données).
Grâce à php, lors de l'affichage d'une page, tu vas chercher ton xml dans ta base de données, et tu vas le traiter avant de l'envoyer au client si $_SESSION["conf"] n'existe pas (si la variable existe, il faut le traiter aussi pour modifier tes balises <conf> en balises <P class="confidentiel"> par exemple).
Le plus simple ici, c'est d'utiliser une transformation xslt : ça parcourt l'arbre DOM de ton fichier xml, et tu peux définir des règles (ici ce sera très simple : on supprime tous les noeuds <conf>blabla</conf>).
Ensuite le rendu final est envoyé au navigateur qui interprète le code reçu.
Au niveau de la sécurité c'est pas mal (les données confidentielles ne sont en aucun cas envoyé au client s'il n'est pas autorisé à les avoir).
Voilà, maintenant, pour optimiser encore l'affaire, je reviens sur mon "<P class="confidentiel">". A mon avis ce serait plus efficace car tu n'aurais même plus besoin de faire une transformation xml->html lorsque $_SESSION["conf"] existe (c'est un peu de temps de gagné).
Cordialement,
Alors je pense avoir compris ta problématique, mais peut-être que je n'ai pas bien saisi certains points.
A mon avis, la solution la plus simple, c'est d'utiliser des fichiers xml. Comme ça tu peux définir ta balise <conf></conf> comme un tag xml.
Ensuite, tu stockes tes articles (contenant des tags <html>, <head>, <body>, <div>, <conf>... tout ce que tu veux dans ta base de données).
Grâce à php, lors de l'affichage d'une page, tu vas chercher ton xml dans ta base de données, et tu vas le traiter avant de l'envoyer au client si $_SESSION["conf"] n'existe pas (si la variable existe, il faut le traiter aussi pour modifier tes balises <conf> en balises <P class="confidentiel"> par exemple).
Le plus simple ici, c'est d'utiliser une transformation xslt : ça parcourt l'arbre DOM de ton fichier xml, et tu peux définir des règles (ici ce sera très simple : on supprime tous les noeuds <conf>blabla</conf>).
Ensuite le rendu final est envoyé au navigateur qui interprète le code reçu.
Au niveau de la sécurité c'est pas mal (les données confidentielles ne sont en aucun cas envoyé au client s'il n'est pas autorisé à les avoir).
Voilà, maintenant, pour optimiser encore l'affaire, je reviens sur mon "<P class="confidentiel">". A mon avis ce serait plus efficace car tu n'aurais même plus besoin de faire une transformation xml->html lorsque $_SESSION["conf"] existe (c'est un peu de temps de gagné).
Cordialement,
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
19
6 janv. 2009 à 15:21
6 janv. 2009 à 15:21
ok je vais me renseigner sur xslt pour les moyens de supprimer les "nœuds" de mon texte. pour le reste, ce sera moins compliqué, vu que je ne stocke pas dans la base les parties head, body. l'article contiendra uniquement du texte et quelques rares balises <b>, <p> etc.. et sera collé à l'intérieur d'un div.. alors comme ça ne contient que des balises html le navigateur n'aura pas de problème.
ça suppose quand même que ton programme xslt n'aie pas besoin de recevoir une partie head ou autres en-têtes dans ce que je lui envoie.
je vais voir ça après le boulot ce soir je reviendrai poster si ça marche ou pas.
merci !
ça suppose quand même que ton programme xslt n'aie pas besoin de recevoir une partie head ou autres en-têtes dans ce que je lui envoie.
je vais voir ça après le boulot ce soir je reviendrai poster si ça marche ou pas.
merci !
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
6 janv. 2009 à 15:32
6 janv. 2009 à 15:32
Effectivement, les transformation xsl ne nécessitent qu'un fichier (ou flux) xml en entrée, et te sortent un fichier (ou flux) xml en sortie (et html étant un sous-ensemble de xml si je puis dire, ça fonctionne très bien). Si tu ne veux stocker que tes articles (et effectivement c'est beaucoup mieux !), tu peux effectivement te passer des entête html, il n'y a pas de soucis.
Tiens nous au courant donc !
Cordialement,
Tiens nous au courant donc !
Cordialement,
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
19
6 janv. 2009 à 16:24
6 janv. 2009 à 16:24
bon j'ai trouvé une solution purement php.
je vais quand même essayer de voir ce que ça donne ce soir avec xml/xsl pour apprendre des nouveaux trucs qui seront surement applicables dans de nombreuses situations, si je veux par exemple faire des parties confidentielles, mais d'autres à mettre en evidence selon le lecteur, etc..
ma solution php (écrite comme ça en monde texte sans test, donc à corriger
$sql="SELECT contenu FROM articles WHERE id='".$_GET["id"]."'";
$rs=pg_exec($connexion, $sql);
$row=pg_fetch_assoc($rs);
ici on va considérer que mon texte est le suivant, avec comme séparateurs non plus <conf> </conf> mais #conf #;
on veut cacher le nom d'une personne
"Bonjour monsieur Jean#conf Dupont#. Comment ça va ?"
$texte=$row["contenu"];
if(!isset($_SESSION...))
{
//$texte= texte a afficher
$tab=explode('#', $texte);
$k= fonction qui permet de connaitre le nombre d'entrées du tableau $tab, je la connais plus
$j=$k-1;
$nouveau_texte="";
for($i=0, $i<=$j, $i++)
{
if(substr($tab[$i], 0, 4)!="conf")
{
$nouveau_texte.=$tab; // équivalent de $nouveau_texte=$nouveau_texte.$tab;
}
}
echo($nouveau_texte);
}
else { echo $texte; }
je vais quand même essayer de voir ce que ça donne ce soir avec xml/xsl pour apprendre des nouveaux trucs qui seront surement applicables dans de nombreuses situations, si je veux par exemple faire des parties confidentielles, mais d'autres à mettre en evidence selon le lecteur, etc..
ma solution php (écrite comme ça en monde texte sans test, donc à corriger
$sql="SELECT contenu FROM articles WHERE id='".$_GET["id"]."'";
$rs=pg_exec($connexion, $sql);
$row=pg_fetch_assoc($rs);
ici on va considérer que mon texte est le suivant, avec comme séparateurs non plus <conf> </conf> mais #conf #;
on veut cacher le nom d'une personne
"Bonjour monsieur Jean#conf Dupont#. Comment ça va ?"
$texte=$row["contenu"];
if(!isset($_SESSION...))
{
//$texte= texte a afficher
$tab=explode('#', $texte);
$k= fonction qui permet de connaitre le nombre d'entrées du tableau $tab, je la connais plus
$j=$k-1;
$nouveau_texte="";
for($i=0, $i<=$j, $i++)
{
if(substr($tab[$i], 0, 4)!="conf")
{
$nouveau_texte.=$tab; // équivalent de $nouveau_texte=$nouveau_texte.$tab;
}
}
echo($nouveau_texte);
}
else { echo $texte; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si j'ai bien compris tu veux que certaines données ne soit vu que par toi...
Dans ta BDD, tu crée un champs "rang" dans la table où sont stocké les membres. Quant un membre s'inscrit on lui attribut par défaut le rang "membre". Pour ton compte perso, on va crée un autre rang, par exemple "admin".
Quant un utilisateurs se connecte, on initialise la variable de session correspondant au rang(autrement dit on va chercher le rang de l'utilisateur dans la BDD).
Pour que des données ne soit visibles que par les membre du rang "admin"on notera donc :
: if ($_SESSION['rang']== admin)
{
echo ' ICI TES DONNES CONFIDENTIELLES';
}
Est ce ce que tu cherchais ?
Dans ta BDD, tu crée un champs "rang" dans la table où sont stocké les membres. Quant un membre s'inscrit on lui attribut par défaut le rang "membre". Pour ton compte perso, on va crée un autre rang, par exemple "admin".
Quant un utilisateurs se connecte, on initialise la variable de session correspondant au rang(autrement dit on va chercher le rang de l'utilisateur dans la BDD).
Pour que des données ne soit visibles que par les membre du rang "admin"on notera donc :
: if ($_SESSION['rang']== admin)
{
echo ' ICI TES DONNES CONFIDENTIELLES';
}
Est ce ce que tu cherchais ?
niahoo
Messages postés
247
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 mai 2010
19
6 janv. 2009 à 19:19
6 janv. 2009 à 19:19
oui je ne veux cacher qu'une partie du post, et ces parties peuvent êtres multiples et n'importe ou dans le post.
mais j'ai trouvé ma soluce tout seul en php, maintenant je découvre xml mais c'est très .. extensible comme domaine !
merci en tout cas.
et j'ai le net grâce à mon bienveillant proprio vive lui
mais j'ai trouvé ma soluce tout seul en php, maintenant je découvre xml mais c'est très .. extensible comme domaine !
merci en tout cas.
et j'ai le net grâce à mon bienveillant proprio vive lui