从浏览器获取相同的会话到 Adob​​e

Getting same session from browser into Adobe

我正在使用 PDF 表单,我已经能够将信息发送到 php 脚本,当我将其作为 HTML 发送时,该脚本可以正确获取数据字段值。

我的问题是,我想通过让用户登录到我创建的页面来了解是谁发送了表单。当他连接时,我无法获得他的 ID,因为会话和 cookie 保留在浏览器中,当我通过单击提交按钮发送表单时,Adobe 程序获得另一个 PHPSESSID,Cookie 也不同。

有没有办法在同一台机器上同时获得两者? 我尝试使用 IP 进行识别,但这不是一个好方法,因为它们可能在 NAT 后面。

Adobe Acrobat 是否有办法在我登录网站时获取相同的会话实例或 Cookie Chrome 集?

与其以这种方式尝试,为什么不使用 php 库创建一个包含会话 ID 的隐藏字段 "session" 的 pdf?

在 PHP 中加载特定会话:

session_id($_POST['my_hidden_value']);
session_start();
// $_SESSION is available now

请记住,在传递带有文件的会话时,它可能会被劫持,一段时间后会话将被删除,因此您应该考虑生成一个 "download key" 链接到用户,将其添加到文档并使用它来确定哪个用户提交了表单。
这样即使有人拥有下载密钥,他也无法以该用户身份登录。

/e:您可以像这样使用 fpdf 文件操作 PDF:

session_start();

// Load fpdm
require('fpdm.php');

// Create a random session id
$SessionID = md5($_SESSION['userid'] . time());

// Store it in some database here

// Fields to fill out
$fields = array(
    'my_hidden_value' => $SessionID
);

// Load pdf, fill field and display it to user
$pdf = new FPDM('template.pdf');
$pdf->Load($fields, false);
$pdf->Merge();
$pdf->Output();

来源(已修改):http://www.fpdf.org/en/script/ex93.pdf
FPDF: http://www.fpdf.org