繁体   English   中英

使用跨域表单处理器的PHP会话

[英]PHP sessions using cross domain form processor

我的网站上有一个下载页面。 为了达到此目的,您必须填写一张表格,不幸的是,由于我无法控制传统的编码,该表格是通过另一个域(我们的CRM所在的地方)上的脚本处理的。

我无法传递成功将表单提交到下载页面时添加的会话值。 再次,用户填写表单,处理表单并添加会话值,然后应将其返回到下载页面。

在任何其他情况下,下载页面均不可访问。 不想让人们绕过表格直接进入下载。

处理器脚本代码

<?PHP
  session_start();
  //lots of database stuff

  //successful insertion to database
  if (($row = mysql_fetch_assoc($result)))
    {
        $redirect .= '?sessionid=xvyXXXXX';
        header("Location: http://" . $redirect);
    }
?>

软件下载页面代码

<?php
$code = $_GET['sessionid'];

if(strcmp( $code , 'xvyXXXXX'  ) != 0) {
    header("Location: http://kinetick.com/V3/download-registration.php");
} else {
       header("Location: http://kinetick.com/V3/download-software.php");
}
?>

我无法使它正常工作。 还有其他方法可以考虑处理器脚本在另一个域中吗? 当前,当我删除if / else并打印时显示一个空数组。 需要一些帮助! 全部

header(“ Location:http://”。$ redirect);

这条线最终看起来像这样...

http://?sessionid = 1234xxx

遗漏了什么?

应该是http://domain.com/somepage.php?sessionid=1234xxx

...我宁愿签出curl库,因为它会隐藏会话ID,除非用户已阅读此帖子,否则用户将永远不知道将哪个会话ID传递给该网站:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM