2

最初にファイルからCookieを読み取って、ブラウザにCookieを設定するPHPスクリプトを作成しようとしています。このファイルには、HTTPヘッダー「Cookie:x = foo; y=bar;など」が含まれています。スクリプトは文字列のクリーンアップを実行するため、変数名(x)と変数の値(foo)のみが表示されます。問題は、Wiresharkを使用してファイルからCookieを設定すると、ブロザーに送信されている変数の正確な値が表示されることです。ブラウザがページに送信するCookieを確認すると、それらは異なります。つまり、cookie x = foo;を設定すると、ブラウザはそれをCookie:x=barとしてページに送り返します。これを引き起こしている可能性があるものを知っていますか?クッキーを挿入するためにGreasemonkeyスクリプトを使用すると、すべてがうまく機能します。これが私のコードです:

<?php
    function inject($what)
    {
        for($i=0;$i<count($what);$i++)
        {
            $name = $what[$i][0];
            echo "injecting cookie named \"$name\" .... <br> ";
            setrawcookie($what[$i][0], $what[$i][1]);
        }
    echo 'all cookies injected properly, ready';
    }

    $newcook=file("/home/todor/cook.txt");
    echo '<pre>';
    for ($i=0; $i<count($newcook); $i++)
        $newcook[$i] = str_replace('Cookie: ', '', $newcook[$i]);      
    $newcook = explode('; ', $newcook[0]);

    for($i=0;$i<count($newcook);$i++)
        $newcook[$i] = explode('=', $newcook[$i]);
    for($i=0;$i<count($newcook);$i++)
        echo 'cookie variable name "'.$newcook[$i][0].'" with value of "'.$newcook[$i][1].'"<br>';

    echo '</pre>';
    inject($newcook);
    ?>

---------------Cookies being set----------------------

Set-Cookie: MoodleSession=h0j51hvrkvu30mdeu3d9321thit8c8pdkle66llr2lipj80chjb0
Set-Cookie: __utma=16796069.1074685784.1352477410.1352477410.1352477410.1
Set-Cookie: __utmc=16796069
Set-Cookie: __utmz=16796069.1352477410.1.1.utmcsr

---------------Cookies being sent to the server -----------

Cookie: MoodleSession=hn92mn8vhl6kvg7f8qogpgm8reeisnoope27o7q3ivrecnr84gb1; __utma=16796069.1720416199.1352484234.1352484234.1352484234.1; __utmb=16796069.1.10.1352484234; __utmc=16796069; __utmz=16796069.1352484234.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
4

0 に答える 0