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. 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. 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? Link to comment https://forums.phpfreaks.com/topic/191105-php-autologin/#findComment-1007859 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.