gpt4 book ai didi

php - 如何使用 PHP 获取 UTM?

转载 作者:搜寻专家 更新时间:2023-10-31 20:34:53 24 4
gpt4 key购买 nike

我是 UTM(Urchin 跟踪模块)的新手,我想获取用户点击链接的 UTM 参数(例如 facebook、google、twitter)以及用户点击具有相同 utm 源的链接的次数并保存到mysql数据库中。

我有一个 PHP 片段,但 utm 参数没有获取并保存在数据库中。

如何解决这个问题?

if(isset($_SERVER['HTTP_REFERER'])){
$utm_source = isset($_GET['utm_source']) ? $_GET['utm_source'] : '';
$utm_medium = isset($_GET['utm_medium']) ? $_GET['utm_medium'] : '';
$utm_campaign = isset($_GET['utm_campaign']) ? $_GET['utm_campaign'] : '';
$utm_term = isset($_GET['utm_term']) ? $_GET['utm_term'] : '';

echo $_SERVER['HTTP_REFERER'];

$sql = "INSERT INTO utm_param(utm_source,utm_medium,utm_campaign)
VALUES('".$conn->real_escape_string($utm_source)."',
'".$conn->real_escape_string($utm_medium)."',
'".$conn->real_escape_string($utm_campaign)."')";
}

utm_param 数据库表结构

Describe utm_param;

最佳答案

在我们担心获取 UTM 属性的值之前,您有一个需要注意的安全问题。您目前正在接受未净化(不安全)的用户输入(通过 $_POST['var'])并将其直接放入数据库查询中,这是一种允许 SQL 注入(inject)的不安全做法(例如恶意用户可以向您发送一个特制的字符串,使他们能够对您的数据库为所欲为。

请阅读 this Stack Overflow question关于如何避免 PHP 中的 SQL 注入(inject)。

通常,用于跟踪用户来自何处的标准 utm 参数构成查询字符串的一部分,例如:

http://yoursite.com?utm_source=google&utm_campaign=campaign_name

除非您正在做一些非标准的事情,否则这将是对您的服务器的 GET 请求(而不是 POST),因此您的变量将通过 $_GET 超全局可用。例如 $_GET['utm_source']$_GET['utm_campaign']

查看您的表架构,您可能还需要将 auto_increment 添加到您的 ID 列,以便在添加新行时自动获取值。

ALTER TABLE `utm_param` 
CHANGE COLUMN `id` `id` INT(100) NOT NULL AUTO_INCREMENT;

关于php - 如何使用 PHP 获取 UTM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39971759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com