Как сохранить HTML META и JavaScript в базе данных с помощью PHP? - PullRequest
0 голосов
/ 05 апреля 2019

Это не повторяющаяся запись, поскольку я экранирую форму, используя 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 от сервера, как я могу санировать или обезопасить ее, когда сервер обрабатывает мою форму?

1 Ответ

0 голосов
/ 05 апреля 2019

Способ, которым я справляюсь, - это только сохранить 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>';

Вы можете избежать экранирования кавычек, используя одинарные или двойные кавычки из строки.

...