Maison > développement back-end > tutoriel php > Comment inclure en toute sécurité les valeurs générées par PHP dans le code JavaScript ?

Comment inclure en toute sécurité les valeurs générées par PHP dans le code JavaScript ?

DDD
Libérer: 2024-10-28 18:18:29
original
508 Les gens l'ont consulté

How to Safely Include PHP-Generated Values in JavaScript Code?

Incorporation de valeurs générées par PHP dans le code JavaScript

Lorsque vous essayez d'utiliser des variables générées par PHP dans du code JavaScript, des difficultés peuvent survenir. Par exemple, l'extrait de code suivant peut ne pas fonctionner comme prévu :

<?php $htmlString = 'testing'; ?>
<html>
  <body>
    <script type="text/javascript">  
      var htmlString=<?= $htmlString; ?>;
      alert(htmlString);
    </script>
  </body>
</html>
Copier après la connexion

Solution :

Pour résoudre ce problème, placez la balise PHP entre guillemets :

<?php $htmlString = 'testing'; ?>
<html>
  <body>
    <script type="text/javascript">  
      // notice the quotes around the ?php tag         
      var htmlString="<?= $htmlString; ?>";
      alert(htmlString);
    </script>
  </body>
</html>
Copier après la connexion

Conseils de débogage :

Lorsque vous rencontrez des erreurs JavaScript, utilisez la console JavaScript fournie par votre navigateur pour identifier tout problème. De plus, examinez le code source de la page tel que rendu par le navigateur.

Attention :

Il est essentiel de noter que l'approche décrite ci-dessus peut introduire des failles de sécurité, en particulier les attaques de type cross-site scripting (XSS). Pour atténuer ces risques, envisagez d'utiliser json_encode() comme suggéré dans la solution alternative ci-dessous :

<?php
$htmlString = 'testing';
$encodedString = json_encode($htmlString);
?>
<html>
  <body>
    <script type="text/javascript">  
      var htmlString=<?= $encodedString; ?>;
      alert(htmlString);
    </script>
  </body>
</html>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal