ホームページ >バックエンド開発 >PHPチュートリアル >PHP で生成された値を JavaScript コードに安全に含める方法

PHP で生成された値を JavaScript コードに安全に含める方法

DDD
DDDオリジナル
2024-10-28 18:18:29498ブラウズ

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

PHP で生成された値を JavaScript コードに組み込む

PHP で生成された変数を JavaScript コード内で利用しようとすると、問題が発生する可能性があります。たとえば、次のコード スニペットは期待どおりに機能しない可能性があります:

<?php $htmlString = 'testing'; ?>
<html>
  <body>
    <script type="text/javascript">  
      var htmlString=<?= $htmlString; ?>;
      alert(htmlString);
    </script>
  </body>
</html>

解決策:

この問題を解決するには、PHP タグを二重引用符で囲みます:

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

デバッグのヒント:

JavaScript エラーが発生した場合は、ブラウザーが提供する JavaScript コンソールを利用して問題を特定します。さらに、ブラウザによって表示されるページのソース コードを調べます。

注意:

上記のアプローチではセキュリティ上の脆弱性が発生する可能性があることに注意することが重要です。特にクロスサイト スクリプティング (XSS) 攻撃。これらのリスクを軽減するには、以下の代替ソリューションで提案されている json_encode() の採用を検討してください:

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

以上がPHP で生成された値を JavaScript コードに安全に含める方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。