title: CURL login by script to a Joomla website
body: <p>I need to login by a PHP script that uses CURL to a Joomla website, in order to access to a private page that needs to be processed, but nothwithstanding several attempts I have done, I have always a 403 error. I have done a similar thing with other websites and it worked.</p>
  
  <p>Script I use:</p>
  
  <pre><code>$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);
  </code></pre>
  
  <p>The username and password, as well as the website URL I am using are perfectly working.</p>
  
  <p>This is the result I get:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>Is there something wrong in my CURL request? Or is there a limit with Joomla remote login?</p>
  
  <p>Thanks for suggestions!</p>