[PHP] Authorisation header

Pagina: 1
Acties:

  • bruk
  • Registratie: Maart 2001
  • Laatst online: 07-04-2021
Ik heb het volgende:
[php]<?$url = "http://www.asdfasdf.com/members/";$base64 = base64_encode("user:passw");$urlArray = parse_url($url); if (!$urlArray[port]) $urlArray[port] = "80"; if (!$urlArray[path]) $urlArray[path] = "/"; $sock = fsockopen($urlArray[host], $urlArray[port], &$errnum, &$errstr); if (!$sock) $return[code] = "Død"; else { $dump .= "GET $urlArray[path] HTTP/1.1\r\n"; $dump .= "Host: $urlArray[host]\r\n"; $dump .= "Authorization: Basic $base64_encode\r\n"; $dump .= "Connection: close\r\n"; $dump .= "Connection: close\r\n\r\n"; fputs($sock, $dump); while($str = fgets($sock, 1024)) { if (eregi("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", $str)) $return
code:
1
        = trim(eregi_replace("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", "\\1", $str));                       if (eregi("^Content-Type: ", $str))                        $return[contentType] = trim(eregi_replace("^Content-Type: ", "", $str));                }                fclose($sock);            flush();         }?>

Het probleem is dat dit dus niet werkt, krijg nog steeds een 401 respons als ik een beveiligde link aanroep.
Het voldende klopt dus niet:
PHP:
1
<?$dump .= "GET $urlArray[path] HTTP/1.1\r\n";$dump .= "Host: $urlArray[host]\r\n";$dump .= "Authorization: Basic $base64\r\n";$dump .= "Connection: close\r\n";$dump .= "Connection: close\r\n\r\n";?>

Kan iemand mij vertellen hoe dit er wel uit moet zien?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03-09 13:30

.oisyn

Moderator Devschuur®

Demotivational Speaker

waarom doe je 2x Connection: close ?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

$base64 = base64_encode("user:passw");
$dump .= "Authorization: Basic $base64_encode\r\n";

Skill is when luck becomes a habit.


Verwijderd

[ot[
.oisyn, jij mod? wist ik niet :P zal wel achterlopen, sinds wanneer???

p.s. bedoel het niet lullig hoor, vat het niet sarcastisch op :)
[/ot]

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 31 mei 2002 16:04 schreef jurriebur het volgende:
[ot[
.oisyn, jij mod? wist ik niet :P zal wel achterlopen, sinds wanneer???

p.s. bedoel het niet lullig hoor, vat het niet sarcastisch op :)
[/ot]
Zie mededelingen forum.

En verder niet te ot meer he? :)

Verwijderd

Op vrijdag 31 mei 2002 16:17 schreef ACM het volgende:

[..]
En verder niet te ot meer he? :)
sorry :) is laatste, zal er op letten voortaan

  • bruk
  • Registratie: Maart 2001
  • Laatst online: 07-04-2021
Op vrijdag 31 mei 2002 16:04 schreef eek het volgende:
$base64 = base64_encode("user:passw");
$dump .= "Authorization: Basic $base64_encode\r\n";
De variabele $base64_encode bestaat toch niet? of ligt dit aan mij?
edit:
Ik zie het al, in het grote script staat hij fout, maar ook als ik dit corrigeer krijg ik nog steeds een 401 reply...

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Op vrijdag 31 mei 2002 13:35 schreef Bruk het volgende:
Het probleem is dat dit dus niet werkt, krijg nog steeds een 401 respons als ik een beveiligde link aanroep.
Werkt het wel op een onbeveiligde link? Hardcode de correcte user/pass anders eens een keer.

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
je moet eigenlijk $urlArray['host'] gebruiken ipv $urlArray[host]

niet dat het probleem daar in zit maar het hoort gewoon ;)

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • bruk
  • Registratie: Maart 2001
  • Laatst online: 07-04-2021
Op zondag 02 juni 2002 02:30 schreef jochemd het volgende:

[..]

Werkt het wel op een onbeveiligde link? Hardcode de correcte user/pass anders eens een keer.
Ja, werkt prima, tenminste, als je het "Authorisation" verhaal weg laat:
[php]<?$url = "http://www.google.nl/";function check($url) { if (!eregi("^http://", $url)) { if (eregi("^mailto:", $url)) { $url = trim(eregi_replace("^mailto:(.+)", "\\1", $url)); list($brugernavn, $host) = split("@", $url); $dnsCheck = checkdnsrr($host,"MX"); if ($dnsCheck) $return[code] = "OK"; else $return[code] = "ERROR"; } else $return[code] = "N/A"; } else { $urlArray = parse_url($url); if (!$urlArray[port]) $urlArray[port] = "80"; if (!$urlArray[path]) $urlArray[path] = "/"; $sock = fsockopen($urlArray[host], $urlArray[port], &$errnum, &$errstr); if (!$sock) $return[code] = "Død"; else { $dump .= "GET $urlArray[path] HTTP/1.1\r\n"; $dump .= "Host: $urlArray[host]\r\n"; //$dump .= "Authorization: Basic $shit\r\n"; $dump .= "Connection: close\r\n\r\n"; fputs($sock, $dump); while($str = fgets($sock, 1024)) { if (eregi("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", $str)) $return[code] = trim(eregi_replace("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", "\\1", $str)); if (eregi("^Content-Type: ", $str)) $return[contentType] = trim(eregi_replace("^Content-Type: ", "", $str)); } fclose($sock); flush(); } } return $return;}$check = check($url);echo $check
code:
1
."<br>";?>
Pagina: 1