如何使用PHP在数据库中保存HTML META和JavaScript?

问题描述 投票:0回答:1

这不是重复的帖子,因为我使用htmlspecialchars()来转义表单以清理提交的表单,而CodeIgniter的活动记录正在转义所有引号。错误不是来自数据库的错误,当我尝试发送表单时,它是来自服务器的块。

我有一个表单,将数据提交到PHP页面,然后将其提交到数据库中。我的问题是我可能想要存储Google Analytics的脚本,或者例如需要从数据库自动生成的一些HTML元数据。

假设我想将此代码从HTML表单发送到PHP页面,然后插入到数据库中。

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-11111-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-111111-1');
</script>

我从服务器收到403错误,当服务器处理我的表单时,如何清理或使其安全?

php forms sanitize
1个回答
-1
投票

我处理此问题的方法是仅将Google UA保存到数据库并将脚本硬编码到文件中。由于要在每个页面上调用脚本,因此可以轻松地将其放置在模板系统中。

例:

$gUA = 'UA-11111-1';

    echo '<script async src="https://www.googletagmanager.com/gtag/js?id='.$gUA.'"></script>';
    echo '<script>';
      echo 'window.dataLayer = window.dataLayer || [];';
      echo 'function gtag(){dataLayer.push(arguments);}';
      echo "gtag('js', new Date());";

      echo "gtag('config', '".$gUA."');";
    echo '</script>';

您可以通过使用字符串中相反的单引号或双引号来避免必须转义引号。

© www.soinside.com 2019 - 2024. All rights reserved.