lostwake Posted May 7, 2013 Share Posted May 7, 2013 Hello All. I am trying to connect to my joomla site with Curl. I have found a lot of help for connecting to joomla 1.5 but cant seem to find and support for 3.0. This is the code I currently have, I see the user connected in joomla but I cannot access any of the admin pages I think there is a cookie issue here. Any help is greatly apreciated. <?php $uname = 'curluser'; $upswd = 'password'; $url = 'http://www.freeflashgamepig.com/administrator/'; $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_COOKIESESSION, TRUE ); curl_setopt($ch, CURLOPT_COOKIEJAR, realpath('./cookie.txt')); curl_setopt($ch, CURLOPT_COOKIEFILE, realpath('./cookie.txt')); curl_setopt($ch, CURLOPT_HEADER, TRUE ); $ret = curl_exec($ch); if (!preg_match('/name="([a-zA-z0-9]{32})"/', $ret, $spoof)) { preg_match("/name='([a-zA-z0-9]{32})'/", $ret, $spoof); } // POST fields $postfields = array(); $postfields['username'] = urlencode($uname); $postfields['passwd'] = urlencode($upswd); $postfields['option'] = 'com_user'; $postfields['task'] = 'login'; $postfields[$spoof[1]] = '1'; curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); $ret = curl_exec($ch); // Get logged in cookie and pass it to the browser preg_match('/^Set-Cookie: (.*?);/m', $ret, $m); $cookie=explode('=',$m[1]); setcookie($cookie[0], $cookie[1]); print_r($cookie); ?> Link to comment https://forums.phpfreaks.com/topic/277736-using-curl-to-login-to-joomla-30/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.