2013-03-30 63 views
0

我編輯的問題,如meta.stackoverflow建議,以提高我的問題的質量更好的理解:))sendToURL不會發送到URL

我使用PHPBB 3,只是下載了一個名爲MOD代理探寶主要用於檢測和禁止IP地址,下面的附加代碼是MOD的一部分,您可以看到ActionScript使用sendToURL方法將Flash變量傳遞給PHP端,該端使用_GET方法獲取值,但問題是值總是爲NULL,我做了一些使用burpsuite的研究,並且看到了客戶端的頭部請求中的值,但從未在URL欄中執行,甚至沒有透露這就是爲什麼它們爲NULL

  • URL = example.com/index.php
  • 請求標題=的index.php?值= 3424124 &另一= 32412342

我怎樣才能獲得這些值在PHP變量,感謝您抽出寶貴時間閱讀我的消息,祝你有美好的一天:))

import flash.display.LoaderInfo; 
import flash.errors.*; 
import flash.events.*; 
import flash.net.sendToURL; 
import flash.net.URLRequest; 
import flash.net.XMLSocket; 
import flash.system.Capabilities; 
import flash.system.Security; 
import flash.xml.*; 

// Retrieve passed FlashVars 
var dhost:String = root.loaderInfo.parameters.dhost; 
var dport:Number = root.loaderInfo.parameters.dport; 
var flash_url:String = root.loaderInfo.parameters.flash_url; 
var ip:String = root.loaderInfo.parameters.ip; 
var extra:String = root.loaderInfo.parameters.extra; 
var user_agent:String = root.loaderInfo.parameters.user_agent; 

// Retrieve policy file from our XMLSocket server to allow socket connections 
Security.loadPolicyFile("xmlsocket://" + dhost + ":" + dport); 

// Get Flash Player version 
var version:String = Capabilities.version; 

// Our probe.php URL and the query string concatenated 
var myURL:String = flash_url + "?mode=flash&ip=" + ip + "&extra=" + extra; 
myURL += "&version=" + escape(version) + "&user_agent=" + escape(user_agent); 

// Socket connection code 
var sock:XMLSocket = new XMLSocket(); 

sock.addEventListener(Event.CONNECT, connectHandler); 
sock.addEventListener(DataEvent.DATA, dataHandler); 

sock.connect(dhost,dport); 

function connectHandler(event:Event):void { 
    var xmlRequest:String = "<data><request>getmyip</request></data>"; 
    sock.send(new XML(xmlRequest)); 
} 

function dataHandler(event:DataEvent):void { 
    var myXML:XML = new XML(event.data); 
    var myIP:String = myXML.ip[0]; 
    myURL += "&xml_ip=" + myIP; 
    var request:URLRequest = new URLRequest(myURL); 
    sendToURL(request); 
    sock.close(); 
} 
+0

修改之後,這不是@animuson – Danzka

回答

0

你見過http://php.net/manual/en/function.getallheaders.php?似乎只適用於某些Apache設置。

+0

從來沒有與我一起工作:( – Danzka

+0

對我的作品在我的筆記本電腦,但不是我的主服務器上。我的筆記本電腦運行的是PHP 5.4.6,我不確定它是使用mod_php還是FastCGI,但我的服務器運行的是PHP 5.3.3,當然使用的是FastCGI。Docs說它只能在5.4.0的FastCGI下使用。 哪個版本的PHP是否在運行,並且你知道你使用的是FastCGI還是mod_php? – balleyne

+0

我在FastCGI中使用php 5.1.6,因爲我設置了自己的服務器:)) – Danzka

0

試試這個代碼

if(function_exists('headers_list')){ 
    $header = "Headers: "; 
    foreach (headers_list() as $name => $value) { 
     $header .= "$value "; 
    } 
} 

,或者嘗試

$headers = apache_request_headers(); 
foreach ($headers as $header => $value) { 
    echo "$header: $value <br />\n"; 
} 
+0

它返回NULL – Danzka

+0

它只返回地址之前? – Danzka