0

私の組織では、ブラウザーの URL にそのプリンターの IP を入力することで、すべてのプリンターの詳細にアクセスできます。プリンターのログ ページには、動的 URL があります (「ダミー」変数が瞬間ごとに変化します。ソース コードには、Date および getTime 関数の使用が含まれます)。これは、ログ ページの動的な http アドレスを生成するために私が書いたコードです。

 <html>
<head>

<script type="text/javascript">
function getu() {
    var now_time = new Date();
 var cgi_str = "http://10.128.57.200/jlp.cgi?Flag=Html_Data&LogType=0&Dummy=" + now_time.getTime();
      document.getElementById("address").value=cgi_str ;
    } 
</script>
  </head>

<body onLoad="getu()">

<form id="mldsform" action="curlexp2.php"  method="post" >
<input type="hidden" id="address" name="address" />
<input type="submit" name="submit" value="Log In" />

</form>

  </body>   
  </html>

curlexp2.php には次のコードがあります。

<?php
$proxy = "10.128.60.40:3128";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$_POST["address"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXY, "$proxy");

$result= curl_exec ($ch);
echo $result;
curl_close ($ch);  
?>

これは私が実行時に得るものです:

User information is disabled.
This operation cannot be accepted. User certification is invalid or date expired.
Update page.
                                                         OK

ただし、$_POST["address"] をエコーアウトすると、正しいアドレスを取得できます。何か手がかりはありますか?? ご協力いただきありがとうございます..

4

0 に答える 0