指纹JS2到PHP变量



我喜欢将指纹作为php变量,我得到以下内容,但不想工作。

<p>fingerprint2: <strong id="fp2"></strong></p>
<script src="/fingerprintjs2/fingerprint2.js"></script>
<script>
    var fp2 = new Fingerprint2();
    fp2.get(function(result) {
        console.log(result);
        $("#fp2").text(result);
    });
</script>
$myphpvar = "<script>document.write(fp2.get());</script>"; 
echo $myphpvar;

这根本不是PHP的工作方式。PHP 无法处理客户端 JavaScript。如果你想访问PHP中的客户端信息,那么你可能应该把它放在一个表单中,然后用PHP发布到另一个页面。有很多关于PHP表单的好教程,比如这个。

Javascript 在 PHP 完成后运行。客户端与服务器端代码。我过去通过在渲染图像的 PHP 文件中运行 PHP 来解决这个问题。此方法通常称为像素跟踪。

以下是基础知识,您需要将 Javascript 中的变量传递给渲染图像的 PHP 文件:

document.write("<img src=fingerprint.php?x="+x+"&y="+y+" width=1 height=1>");

在上面的例子中,它将Javascript变量x和y传递给PHP镜像。

然后指纹.php脚本如下所示:

    <?php
    header("Content-type: image/png");
    session_start();
    $x = $_REQUEST['x'];
    $y = $_REQUEST['y'];
    $_SESSION['x'] = $x;
    $_SESSION['y'] = $y              
    // SHOW THE IMAGE
    $im      = imagecreatefrompng("fingerprint.png");
    imagepng($im);
    imagedestroy($im);
    ?>

png 图像可以是您想要的任何内容,因为它只是最终屏幕上的 1 x 1 图像。你现在在PHP中有了Javascript变量。当代码启动会话时,您可以将变量写入会话,稍后在另一个脚本中收集它们,或者将它们写入数据库并稍后恢复。尝试使用我的简单示例以确保您使其正常工作,然后从那里扩展。

有很多

方法可以从 JavaScript 发送数据回到服务器端

  • 设置一个 cookie 并在下一个请求中读取它
  • 通过在URL的查询中添加指纹来注入脚本/IMG/iframe标签(但不使用document.write)来请求更多内容
  • 发出 AJAX 请求
  • 向页面上的表单添加隐藏输入 - 要求用户使用该表单导航出页面

相关内容

  • 没有找到相关文章

最新更新