如何在 JavaScript 程式碼中安全地包含 PHP 產生的值?

DDD
發布: 2024-10-28 18:18:29
原創
404 人瀏覽過

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

將PHP 產生的值合併到JavaScript 程式碼中

嘗試在JavaScript 程式碼中使用PHP 產生的變數時,可能會出現困難。例如,以下程式碼片段可能無法如預期運作:

<?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>
登入後複製

以上是如何在 JavaScript 程式碼中安全地包含 PHP 產生的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!