サイトの商品ページに在庫チェッカーを作成しました。これは AJAX 送信ボタンで構成されており、クリックすると、次の curl 関数を使用して製品の在庫を取得します。
function inventory($sku) {
$url = 'http://www.example.com/product/' . $sku;
$curl = curl_init($url);
$referer = 'http://www.google.com/search';
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_COOKIEFILE, '/cookie.txt');
curl_setopt($curl, CURLOPT_REFERER, $referer);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10');
$html = curl_exec($curl);
curl_close($curl);
...
}
接続先の URL は、在庫ページにアクセスするためにログインする必要があるサプライヤーのサイトです。これらのページには、http 経由でのみアクセスできます。サプライヤーのサイトから送信された Cookie をコピーし、有効期限を 0 に設定しました。Cookie には ASP.NET SessionId が含まれています。
Cookie を保護する方法はありますか? そうでない場合、誰かが Cookie を乗っ取って、私のログイン情報からサプライヤーのサイトにアクセスするのはどれほど簡単なことでしょうか。私の理解では、中間者攻撃は、私のサーバーとサプライヤーのサーバーの間の誰かから発生する必要があります。これは正しいです?