2013-04-03 86 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