2013-04-03 171 views
0

我正在测试一些东西。只有当我传递GET值时,我才会将我的网站(http://mywebsite.com)重定向到登录页面(http://landingpage.com)。例如:id = 23。所以当它存在时,页面重定向。捕获原始URL的GET/POST值?

我的问题是,是否有任何脚本与我可以捕获我重定向列表?我想要的完整链接,如:http://mywebsite.com/index.php?id=23

是否有任何可能性来捕捉?

还有什么可能对POST执行相同操作并捕获着陆页上的POST值?

+0

它传递的重定向。将你重定向到的URL设为'http://landingpage.com/?refer = http://mywebsite.com/index.php?id=23'(当然它需要URL编码)并且只需获得'$ _POST [“参考”]' – Ian

+0

有没有其他方法?我只是想知道是否有其他人可以检测到他们从GET/POST值重定向。 – user1406071

+0

他们可以看到引用链接,并注意GET值,但不通过 –

回答

0

为什么不把数据存储在会话变量中?您所要做的就是在重定向页面上再次启动会话,并在那里检索会话变量。

教程,如果你是不是已经意识到这一点:http://www.tizag.com/phpT/phpsessions.php

例如,在mywebsite.com:上landingpage.com

session_start(); 

if (isset($_REQUEST['id'])) { 
    $_SESSION['id'] = $_REQUEST['id']; 
    $_SESSION['url'] = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']; 
} 

session_start(); 

$url = $_SESSION['url'] . '?id=' . $_SESSION['id']; 
echo $url; 

虽然很肯定如果页面存储在两个不同的服务器上,这将不起作用,所以我可能会误解这个问题。如果它位于服务器之间,则可以使用cookie代替。

0

对于GET:

你可以简单地连接$_SERVER['QUERY_STRING']到的LandingPage:

<?php 
$get = ($_SERVER['QUERY_STRING']) ? "?".$_SERVER['QUERY_STRING']: ""; 
$url = 'http://landingpage.com'.$get; 
header("Location: $url"); 
?> 

为岗位:使用卷曲

if($_POST){ 
$ch = curl_init(); 
$curlConfig = array(
    CURLOPT_URL => "http://landingpage.com", 
    CURLOPT_POST => true, 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_POSTFIELDS  => $_POST, 
); 
curl_setopt_array($ch, $curlConfig) 
$result = curl_exec($ch); 
curl_close($ch); 
} 
+0

我其实想从WHERE发现流量是从哪里来的。 – user1406071

+0

流量可能来自两者:例如,您可以发送POST到page.php?id = 2,在这种情况下,GET和POST都存在,因此,您可以同时检查两者 – 2013-04-03 16:56:18