처리해야하는 개인 페이지에 액세스하기 위해 Joomla 웹 사이트에 CURL을 사용하는 PHP 스크립트로 로그인해야하지만, 여러 번 시도 했음에도 불구하고 항상 403 오류가 있습니다. 나는 다른 웹 사이트와 비슷한 일을했으며 효과가 있었다.CURL이 Joomla 웹 사이트에 스크립트로 로그인합니다.
스크립트 내가 사용
$uname = "id";
$upswd = "pswd";
$url = "http://www.somewebpage.com";
$agent = "'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6'";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_COOKIEJAR, './cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, './cookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_REFERER, $url1);
// POST fields
$postfields = array();
$postfields['username'] = urlencode($uname);
$postfields['passwd'] = urlencode($upswd);
$postfields['remember'] = 'yes';
$postfields['option'] = 'login';
$postfields['op2'] = 'login';
$postfields['return'] = urlencode($url);
$postfields['message'] = '0';
$postfields['force_session'] = '1';
$postfields['j3b00d36f4336137f4f03335c5eee6440'] = '1';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
$ret = curl_exec($ch);
사용자 이름과 암호뿐만 아니라, 내가 완벽하게 작동되어 사용하고있는 웹 사이트 URL을 표시합니다.
이
이 결과는 내가 얻을 수있다 : 내 CURL 요청에 뭔가 문제가HTTP/1.1 100 Continue
HTTP/1.1 403 Forbidden
Date: Sat, 06 Feb 2010 08:29:36 GMT
Server: Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.7a DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
X-Powered-By: PHP/5.2.10
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
있습니까? 아니면 Joomla 원격 로그인에 한계가 있습니까?
제안 해 주셔서 감사합니다.
나는 또한 이것을 생각하고 있었다. BTW, 명령 줄 CURL도 실패합니다 ... – Paryeshakaya
제가 이해할 수 있듯이 서버 로그에 액세스하여 어떤 오류가 발생했는지 확인할 수 없습니까? –
불행히도 :-( – Paryeshakaya