Hier ist mein Dilemma ... Ich habe im Grunde ein Skript, das mittels CURL auf einer Website von Drittanbietern eine Anmeldung durchführt und dann einen anderen Beitrag erstellt, um die Details eines Benutzers basierend auf dieser Anmeldesitzung zu aktualisieren. Jetzt, da meine Seite beschäftigt ist, habe ich mehrere Benutzer, die das gleiche tun, und es scheint, dass gelegentlich Locken verwirrt werden und eine Benutzerdetails mit einer anderen Benutzerinformation aktualisiert werden. Dies verursacht echte Probleme. Es scheint so zu sein, dass der Cookie, der von einem Benutzer nach einer Anmeldung verwendet wird, von anderen Benutzern geteilt wird und sich am selben Cookie anmeldet - was das 3rd-Party-System verwirrt. Mein Code ist unten veröffentlicht und ich muss das Cookiefile und das Cookiejar verwenden, um die PHP-Sitzung aufrechtzuerhalten, damit ich tun kann, was ich tun muss. Aber es scheint, als ob derselbe Cookie von allen Benutzern wiederverwendet wird. Macht das Sinn? Kann ich etwas tun, um das zu ändern? Bitte beraten .... Vielen Dank!php CURL - mehrere unabhängige Sitzungen - brauchen Hilfe!
Unten ist der Code i sowohl Login verwenden und veröffentlichen die gleiche cookies.txt Datei für jede Sitzung den Benutzer Update
function hitForm($postURL, $postFields, $referer="", $showerr = FALSE, $ispost = TRUE) {
global $islocal, $path_escape;
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_URL, $postURL);
if ($ispost)
curl_setopt($ch, CURLOPT_POST, 1);
else
curl_setopt($ch, CURLOPT_HTTPGET, 1);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$ret = curl_exec($ch);
if ($error = curl_error($ch)) {
if ($showerr)
echo 'ERROR: ' . $error;
return -1;
exit;
}
$CU_header = curl_getinfo($ch);
$CU_header["err"] = curl_errno($ch);
$CU_header["errmsg"] = curl_error($ch);
curl_close($ch);
$returnout = $ret;
//for debugging purposes for now we are logging all form posts
SaveLog("hitform", "F[".$this->curruserid." - ".$this->currfunc." - ".date("d-m-y h:i:s")."]".$postFields);
return $ret;
}
Dank - gibt dies einen Versuch! – Gotts