[PHP] Automatisch Inloggin IIS Inlog popup

Pagina: 1
Acties:
  • 102 views sinds 30-01-2008
  • Reageer

Onderwerpen


  • Navi
  • Registratie: Maart 2007
  • Niet online
Even een algemeen vraagje want het is namelijk nogal lastig zoeken of dit mogelijk is aangezien de zoektermen nogal algemeen zijn. (Heb er tijdje naar gegoogled)

Ik wilde graag weten of het mogelijk is om met PHP automatisch in te loggen op een site waarbij er zo'n .htaccess achtig inlog popupje komt.
(Alleen in dit geval is het een IIS server).

Met PHP automatisch inloggen op websites met gewone login formulieren heb ik al voor elkaar gekregen maar deze wijkt net weer af doordat het een pop-up is.

Voorbeeld: www.greendirect.nl

Wat ik dus wil is dat ik een PHP script maakt met daarin de login gegevens etc, en als dat php script aangeroepen wordt dat je automatisch al ingelogd geredirect wordt naar de website, dat is allemaal geen probleem op het inloggen in de popup na, is dit uberhaubt mogelijk?

De veel gegeven oplossingen zoals:
PHP:
1
2
3
4
5
$_SERVER['REMOTE_USER']
$_SERVER['REDIRECT_REMOTE_USER']

$_SERVER['PHP_AUTH_USER']
$_SERVER['PHP_AUTH_PW']


Heb ik geprobeerd in te stellen met de juiste gegeven en daarna te redirecten maar dat haalt niets uit.

Volgens mij moet ik bepaalde header instellen, kan dat kloppen?

[ Voor 36% gewijzigd door Navi op 30-08-2007 12:14 ]


  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 00:11
http://www.php.net/curl

Curl is je vriend hier :)

  • Navi
  • Registratie: Maart 2007
  • Niet online
hmmm ziet er goed uit, ik probeer nu dit:

PHP:
1
2
3
4
5
6
7
8
9
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.greendirect.nl');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "[userhier]:[passhier]");

$data = curl_exec($ch);
echo $data;
curl_close($ch);



en dan vul ik op die 2 plekken gewoon tussen de [] de user en het pass in maar krijg nu meteen you are not authorized, het gaat dus nog niet helemaal goed, zien jullie misschien wat er mis is?

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Je probeert hier over HTTPS te gaan, dat zal waarschijnlijk nog wel wat extra implicaties hebben m.b.t. curl enzo, ik vrees dat je je daar nog even op moet inlezen :)

Stop uploading passwords to Github!


  • Navi
  • Registratie: Maart 2007
  • Niet online
Hmm er zijn dan inderdaad wat extra opties, maar ik denk dat ik het niet helemaal goed doe, ik heb nu dit stuk:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.greendirect.nl');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "[user]:[pass]");

$data = curl_exec($ch);
curl_close($ch);

echo $data;

if ($data == NULL) { 
           echo "Error:<br>";
           echo curl_errno($ch) . " - " . curl_error($ch) . "<br>";
}


En er (lijkt?) verder niets veranderd, ik heb ook die error code erbij gezet zodat ik eventuele errors kan zien maar ik krijg nu meteen weer de pagina alsof je fout inlogd.

Heb ik de username / password format zo wel goed? (ik zet het gewoon tussen de [] dus de [] laat ik staan.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

waarom laat je de haken staan? Daarnaast kan het ook zijn dat die betreffende server geen Basic authentication gebruikt, maar bijvoorbeeld NTLM.

Tot slot wil ik nog even aangeven dat je op dit moment niet de computer van de gebruiker inlogd, maar de server. Je kunt dit dus niet gebruiken om een gebruiker ergens in te loggen (tenzij je zelf een proxy achtige oplossing gaat implementeren waarbij alle requests via je server verlopen)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Navi
  • Registratie: Maart 2007
  • Niet online
Oowwww, nee dat is niet de bedoeling, ik wil uiteraard wel de gebruiker zelf laten inloggen!

Het werkt nu wel inderdaad zonder de haken, maarja, wat jij zegt de server ingelogd heb ik niets aan, wie weet wat ik dan behoor te gebruiken dan curl?

[ Voor 45% gewijzigd door Navi op 30-08-2007 14:48 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Dat gaat je met php iig niet lukken. Je zou nog kunnen proberen om de gebruiker door te sturen naar http://gebruikersnaam:wachtwoord@www.website.tld/ , maar dat wordt door IE niet meer ondersteund omdat het vaak werd misbruikt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Navi
  • Registratie: Maart 2007
  • Niet online
Hmm dat is erg jammer :(

  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 00:11
Janoz schreef op donderdag 30 augustus 2007 @ 14:48:
Dat gaat je met php iig niet lukken. Je zou nog kunnen proberen om de gebruiker door te sturen naar http://gebruikersnaam:wachtwoord@www.website.tld/ , maar dat wordt door IE niet meer ondersteund omdat het vaak werd misbruikt.
Je kan toch met CURL de inlog credentials meegeven die de gebruiker opgeeft en daarna de server vanwaar de CURL sessie wordt gestart als doorgeef luik laten fungeren. Ik denk dat het technisch mogelijk is.

Of je als gebruiker dat ook wil (i.v.m. veiligheid / misbruik) dat is een 2e.

Je zou ook nog een 1-2tje met de website beheerder kunnen afspreken om de data die je wilt laten zien weer te geven...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Als je naar de reactie van mij daarvoor kijkt zie je dat ik dat er al tussen haakjes bij heb gezet. Nadeel is dat je niet enkel moet doorsturen, maar ook moet zorgen dat alle interne links ook via je proxy gaan. Het is theoretisch mogelijk, maar praktisch ondoenlijk....

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • michelc85
  • Registratie: Juli 2002
  • Laatst online: 16:20
Vroeg met af of de TS hier nog uitgekomen was, zit namelijk met het zelfde probleem
Pagina: 1