我在我网站的产品页面上创建了一个库存检查器。它由一个 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 并在我的登录名下访问我的供应商网站是多么容易。据我了解,中间人攻击必须来自我的服务器和我的供应商服务器之间的某个人。这个对吗?