scottgutman Posted February 5, 2010 Share Posted February 5, 2010 I would like to create a script that will login to a website and then allow the user to continue and browse as they wish. I have a few business logins that I don't want to give to my staff. I don't want them to login from home or give out the credentials to unauthorized personnel, etc. I would like the solution to be on our central inhouse server and not installed or modified on individual workstations. Password autofill programs, keypress programs or macros are not acceptable solutions. I can login to a website using cURL, but I don't know how to transfer the logged in session to the user. I can't create a copy of the target site's login page because they use realtime identifiers for each login. I need to "browse" to *their* login page, input the login credentials, submit, and then browse the site in the same session. Please provide sample code that will demonstrate this login. I would like the solution to be PHP, but it does not have to use cURL. Thanks in advance. Quote Link to comment https://forums.phpfreaks.com/topic/191105-php-autologin/ Share on other sites More sharing options...
premiso Posted February 6, 2010 Share Posted February 6, 2010 I really doubt anyone will code this for you. If you are not willing to do the searching / put for the effort post in the freelance section and offer to pay someone for their troubles. If you are willing to put forth effort, here is a site I found by google: http://www.trap17.com/index.php/automatic-login-curl_t38162.html That should help you in your quest. Quote Link to comment https://forums.phpfreaks.com/topic/191105-php-autologin/#findComment-1007711 Share on other sites More sharing options...
scottgutman Posted February 6, 2010 Author Share Posted February 6, 2010 I am sorry that it came off that i did not want to do any work. That is not true and any help you can give me is appreciated. I actually have spent alot of time on this, including the page that you found and i used that VERY code on a couple of my attempts. The problem I have is accessing the session created by curl. I tried logging using that script, then doing a redir, but then that creates a new session which the site does not recognize as authenticated. My code is below: If the solution is easy then I am missing it. <?php // INIT CURL $ch = curl_init(); // SET URL FOR THE POST FORM LOGIN curl_setopt($ch, CURLOPT_URL, 'https://www.assuranthealthsales.com/414/sales/Login.aspx'); // ENABLE HTTP POST curl_setopt ($ch, CURLOPT_POST, 1); // SET POST PARAMETERS : FORM VALUES FOR EACH FIELD $sTarget = "&TARGET=".urlencode("/414/sales/Agent/PostAgentLogin.aspx"); $sAuthReason = "&SMAUTHREASON=0"; curl_setopt ($ch, CURLOPT_POSTFIELDS, 'username=myusername&password=supersecret'.$sTarget.$sAuthReason); // IMITATE CLASSIC BROWSER'S BEHAVIOUR : HANDLE COOKIES curl_setopt ($ch, CURLOPT_COOKIEJAR, 'assurantmain.txt'); # Setting CURLOPT_RETURNTRANSFER variable to 1 will force cURL # not to print out the results of its query. # Instead, it will return the results as a string return value # from curl_exec() instead of the usual true/false. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT]']); // EXECUTE 1st REQUEST (FORM LOGIN) $store = curl_exec ($ch); // CLOSE CURL curl_close ($ch); //move to the main landing page after login. header("Location:https://www.assuranthealthsales.com/414/sales/Agent/AgentMenu.aspx"); exit; ?> The only thing I can think to do is to create an iframe and control it through the Document interface. is there a better way? Quote Link to comment https://forums.phpfreaks.com/topic/191105-php-autologin/#findComment-1007859 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.