2016-08-24 15 views
-1

挨拶StacksOverFlowのDev、PHPエコーCSRF&

私は以前、私はそれをエコーし​​ようと、私はpreg_match_allを使用して隠されたをした際に、ウェブサイトでの隠された入力値が表示されない理由を把握しようとしているが表示されないSTATE値POST。

私は同時に両方でエコーしたいが、それは私の問題couzではない。ここで

は私のコードです:

<?php 

function get_data($url) 
{ 
    $ch = curl_init(); 
    $timeout = 10; 
    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
    $data = curl_exec($ch); 
    curl_close($ch); 
    return $data; 
} 

$returned_content = get_data('https://secure.tesco.com/account/en-GB/login'); 

$container = $returned_content; 

preg_match_all('(<form\s.*</form>)', $container, $forms); 

print_r($forms); 

$_POST['_csrf'] = $csrf; 
$_POST['state'] = $state; 

echo "<font color=red><b>CSRF</b></font> : ".$csrf."<br/>"; 
echo "<font color=red><b>STATE</b></font> : ".$state."<br/>"; 

?> 

誰かがこれについて私を助けることができますか?

答えて

0

Xパスはこれを試してみる方法です!

$dom = new \DOMDocument(); 
@$dom->loadHTML($container); 
$x = new \DOMXPath($dom); 
echo $_csrf = $x->query('//input[@name="_csrf"]')->item(0)->getAttribute('value'); 
echo $state = $x->query('//input[@name="state"]')->item(0)->getAttribute('value'); 
+0

私のコードが動作する他の方法はありますか? Xpath/Domを使用する以外には –

+0

フィールドを取得する正規表現を書くことができますが、DOMはより信頼性があります。あなたがフォームにデータを投稿していないので、 '$ _POST'は動作しません。 – Kamran

+0

あなたはチームビューアーより数分間手伝ってもらえますか?それともあなたのために可能ですか? –