IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Inclure des fonctionnalités au dessus d'un textarea


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut Inclure des fonctionnalités au dessus d'un textarea
    Bonjour,

    Je suis quasi-sur de ne pas être sur le bon forum donc je vais me faire taper sur les doigts ! en même temps.. quel forum est adapté a ma question ?

    bon.. voila je fais un forum et je cherche une solution pour inclure quelque chose comme ceci sur le haut de mon textarea dans mon forum.

    Nom : forum.png
Affichages : 207
Taille : 24,1 Ko

    la plupart des forums sur le net possèdent un genre de "tableau de bord" en haut.. je ne sais pas comment faire cela.. existe t'il une librairie ou quelque chose du genre ? avez-vous une solution à proposer ? merci pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est un editeur Wysiwyg :
    http://ckeditor.com/
    https://www.tinymce.com/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    c'est exactement ce qu'il me fallait !

    merci

  4. #4
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    est t'il possible de le rendre responsive ? :/

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je te recopie un exemple de CSS pour tinymce :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    /* on mobile browsers, I set a width of 100% */
    table.mceLayout, textarea.tinyMCE {
        width: 100% !important;
    }
     
    /* on large screens, I use a different layout, so 600px are sufficient */
    @media only screen and (min-width: 600px) {
        table.mceLayout, textarea.richEditor {
           width: 600px !important;
        }
    }
    Pour Ckeditor, dans config.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CKEDITOR.editorConfig = function (config) {
     
        config.width = "auto";
        config.height = "auto";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    J'ai testé ckeditor il est pas mal !

    par contre j'ai une question..

    j'affiche les messages sur mon forum de test avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $donnees->msg; ?>
    car si je rajoute htmlspecialchars alors je n'ai plus la mise en forme.. du coup comment je dois faire pour avoir la belle mise en forme + sécurisé l'affichage ?

    merci

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La sécurité apportée par htmlspecialchars() est justement d’empêcher l'utilisation de balise HTML et donc Javascript.
    Il existe par exemple HTMLPurifier pour contrôler que le texte saisie par ton utilisateur est conforme.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    oui je sais bien mais actuellement si le membre rentre du code php comment je peux faire pour l’empêcher ?

    http://htmlpurifier.org ?

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    On ne peut pas injecter du PHP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $texte_saisie = '<?php echo 'je suis malveillant mouahahaha'; ?>';
    echo $texte_saisie; // affiche dans le navigateur <?php echo 'je suis malveillant mouahahaha'; ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    oui effectivement je viens de faire le test ! par contre pour le javascript ça fonctionne :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    <script>alert('hello')</script>

    pas envie que les utilisateurs s'amusent de cette façon sur le forum.. comment je peux faire ? pas facile d'avoir un éditeur Wysiwyg et en même temps de sécuriser son forum..

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je t'ai dit il faut inspecter avec HTMLPurifier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    Oui effectivement mais il s'agit d'un forum traitant sur le php/mysql html css javascript et autres langages.. Donc je rencontre un problème car je veux offrir aux membres la possibilité de publier un code source via le forum mais alors comment faire avec htmlpurifier ? Tu comprends le problème ?

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Non je ne comprends pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ CKeditor : on peut limiter/choisir aussi les icones à afficher dans le mini-meni wysiwyg
    config.js :
    Code : 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
    CKEDITOR.dtd.$removeEmpty['i'] = false;	// SPECIAL Font Awesome (ne pas supprimer les balises <i> vides)
    CKEDITOR.editorConfig = function( config )
    {
    	// -----------------------
    	config.basicEntities = false; // évite les &nbsp; inutiles
    	config.allowedContent = true;	// accepte l'ajout d'attribut (class, style...) inline
    	// -----------------------
    	/* TOOLBAR PERSONNALISEE - SIMPLE (par exemple) */
    	config.toolbar = 'ToolbarSimple';
    	config.toolbar_ToolbarSimple =
    	[
    	{ name: 'basicstyles', 	items : [ 'Bold','Italic','Underline','Strike' ] },
    	{ name: 'paragraph', 	items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock' ] },
    	{ name: 'links', 	items : [ 'Link','Unlink','Anchor' ] },
    	{ name: 'editing', 	items : [ '-','SpellChecker', 'Scayt' ] },
    	{ name: 'colors', 	items : [ 'TextColor','BGColor' ] },
    	{ name: 'styles', 	items : [ 'Format' ] },
    	{ name: 'clipboard', 	items : [ 'PasteText','PasteFromWord' ] },
    	{ name: 'insert', 	items : [ 'HorizontalRule' ] },
    	{ name: 'document', 	items : [ 'Source' ] }
    	];
    	// -----------------------
    };
    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		<script>CKEDITOR.replace( 'textarea_message', { toolbar:'ToolbarSimple' } );</script>
    2/Le nettoyage du code peut se faire en PHP :
    • strip_tags() permet de définir des $allowable_tags. Donc d'accepter ou pas certaines balises HTML.

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Avec strip_tags() un utilisateur malintentionné peut placer du javascript dans un attribut onmouseover par exemple.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    Je vais tenter d'expliquer différemment : je veux que l'utilisateur puisse poster n'importe quelle balise dans n'importe quel langage (comme sur ce forum) et au moment de l'affichage du topic je veux que seule la mise en forme html soit interprété (comme sur ce forum aussi).
    Au fait, je fais un forum d'entraide à la programmation donc il y aura du code de différent langage posté par les utilisateurs.

  17. #17
    Invité
    Invité(e)
    Par défaut
    Il ne faut donc pas donner accès à la "Source" (icône "Source" à supprimer).

    Citation Envoyé par bndd24 Voir le message
    ...poster n'importe quelle balise dans n'importe quel langage (comme sur ce forum) et au moment de l'affichage du topic je veux que seule la mise en forme html soit interprété (comme sur ce forum aussi).
    Il faut passer par du BBcode (comme sur ce forum ). ->
    (affiche le code source de cette discussion pour t'en convaincre)

  18. #18
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    mum.. ok je pense avoir compris.
    Je résume :
    Je garde bien l’éditeur ckeditor mais je supprime le bouton Source et je remplace la valeur des boutons gras italique souligné tableaux etc par des bbcodes.. ok mais euh existe t'il pas un "module" ou quelque chose qui remplace la valeur des boutons par des bbcodes comme sur ce forum ?

    et donc pour l'affichage des messages du coup je remets en place le htmlspecialchars ??

  19. #19
    Invité
    Invité(e)
    Par défaut
    A voir (je ne connais pas) :



    J'ai vu ça aussi :



    Pour insérer du "code", il faut utiliser l'icône... "code" ! (qui se transforme en balise <code>, ou <pre>)

    => Prépare-toi un fichier TEST.php, et fais des essais...

  20. #20
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2015
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2015
    Messages : 518
    Points : 184
    Points
    184
    Par défaut
    oui je crois bien que c'est la solution le plugin bbcode, en plus plugin officiel de ckeditor (cksource)

    je reviens vers vous après les tests

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 22
    Dernier message: 27/11/2015, 10h13
  2. Réponses: 0
    Dernier message: 02/04/2014, 15h09
  3. [JAR][DLL][path] inclure des DLLs dans un jar
    Par blaz dans le forum Général Java
    Réponses: 5
    Dernier message: 28/07/2005, 12h29
  4. [jsp] Inclure des pages ASP et ASP.NET
    Par olive.m dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 06/05/2004, 12h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo