나는 기능을 컬와 PHP 을이되어 사용하여 로그인 원격으로 다른 웹 사이트에 어떻게 사용하는 데 사용되는 간단한 기능이CURL 로그인 기능으로 만든 쿠키를 삭제 하시겠습니까?
그것의 을 로그인 문제없이 작업public function Curllogin($url,$data,$proxy,$proxystatus)
{
$login = curl_init();
curl_setopt($login, CURLOPT_COOKIEJAR,$this->SetCookieFile);
curl_setopt($login, CURLOPT_COOKIEFILE,$this->SetCookieFile);
curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($login, CURLOPT_TIMEOUT, 40);
curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
if ($proxystatus == 'on') {
curl_setopt($login, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($login, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($login, CURLOPT_PROXY, $proxy);
}
curl_setopt($login, CURLOPT_URL, $url);
curl_setopt($login, CURLOPT_HEADER, TRUE);
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($login, CURLOPT_POST, TRUE);
curl_setopt($login, CURLOPT_POSTFIELDS, $data);
ob_start(); // prevent any output
return curl_exec ($login); // execute the curl command
ob_end_clean(); // stop preventing output
curl_close ($login);
unset($login);
}
하지만 거기에 내가 을 발견 작은 문제 예를 들어 example.com에 로그인하고 $ 데이터 변수 에 아무런 문제없이 로그인 할 것입니다. 하지만 다른 사용자 이름과 암호를 사용하여 $ 데이터 값을 변경하면 이전 사용자 이름과 암호로 로그인하게됩니다. 마지막 로그인에 사용 된 새로운 로그인 정보를 무시합니다. 나는 시도했습니다. cookies.txt 파일을 삭제하고 스크립트를 다시 만들게하는 것과 같은 것 브라우저 캐시 된 쿠키를 지우려고했는데 새 사용자 이름과 비밀번호를 사용할 때마다 새 데이터 을 사용하도록 변경하지 않습니다. 내가 로그인하는 데 사용한 은 CURL이 만든 쿠키를 파괴 할 수있는 기능이 있습니까?
당신을 잡았습니까? – Marco
당신은 $ this-> SetCookieFile을 null로 설정하는 또 다른 함수를 생성하고 로그 아웃 할 때마다이 함수를 호출한다는 것을 의미합니까? – Marco
'CURLOPT_COOKIEJAR' /'CURLOPT_COOKIEFILE'은 cURL이 수신 된 모든 쿠키를 저장하고 필요에 따라 모든 요청을 보내기 위해 쿠키를 가져 오는 파일입니다. 브라우저의 쿠키를 정리하는 비유는 해당 파일을 비우는 것입니다. – deceze