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

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

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 12:41:03868parcourir

How to Safely Integrate PHP-Generated Values into JavaScript Code?

Incorporation de valeurs générées par PHP dans du code JavaScript sur une page

Lorsque vous essayez d'intégrer une valeur générée par PHP dans du code JavaScript, vous pourriez rencontrer des erreurs comme celles de l’exemple donné. Pour résoudre ce problème, envisagez l'approche suivante :

<?php
$htmlString = 'testing'; 
?>
<html>
  <body>
    <script type="text/javascript">     
      // Notice the quotes around the <?php tag 
      var htmlString="<?php echo $htmlString; ?>";
      alert(htmlString);
    </script>
  </body>
</html>

Remarque critique :

La solution suggérée n'est pas sécurisée et peut être sensible aux attaques XSS. Comme alternative plus sûre, il est recommandé d'utiliser json_encode(), comme démontré dans l'extrait de code suivant :

<?php
$arr = ["hello", "world"];
echo json_encode($arr); // Output: ["hello", "world"] 
?>

En cas de problème, examiner les consoles JavaScript du navigateur et vérifier la source de la page telle qu'elle est affichée par le Le navigateur peut fournir des informations précieuses.

De plus, il est crucial de comprendre la distinction entre les guillemets en PHP et JavaScript. Les variables PHP telles que $htmlString contiennent des valeurs de chaîne sans guillemets, tandis que les chaînes JavaScript sont placées entre guillemets.

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!

Déclaration:
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