PDA

Bekijk Volledige Versie : PHP_AUTH_USER script in php 5



Martin
15/08/06, 23:46
Beste nieuwsgroep.

Sinds mijn host php versie 5 gebruikt werken een aantal scripts niet meer.

Bijvoorbeeld het onderstaande.

Wil iemand voor mij kijken wat er voor nodig is om het te laten werken?

Alvast bedankt :-)

Martin Reedijk


==== START SCRIPT ====


<?php

if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm=\"Autorisatie vereist!\"");
Header("HTTP/1.0 401 Unauthorized");
exit;
}

else {

$disp="fout";
$i=1;
$gebr[1]="Jantje"; $pas[1]="pietje";

while ($gebr[$i]){
if ($PHP_AUTH_USER == $gebr[$i] and $PHP_AUTH_PW == $pas[$i]){
$disp=1;}
$i++;
}

if($disp=="fout"){
echo "<meta http-equiv='REFRESH'
content='0;URL=http://www.example.com/foutecode.php>";
exit;}
else {echo "";}
}
?>


==== EINDE SCRIPT ====

Maarten Wierda
15/08/06, 23:46
Martin schreef:

> Beste nieuwsgroep.

Hoi

> if(!isset($PHP_AUTH_USER)) {

Maak daar eens $_SERVER['PHP_AUTH_USER'] van
(<http://nl3.php.net/features.http-auth>).


--
Cheers,
Maarten Wierda

Martin
15/08/06, 23:46
Hieronder volgt een reactie op dit bericht:
>> if(!isset($PHP_AUTH_USER)) {

> Maak daar eens $_SERVER['PHP_AUTH_USER'] van
> (<http://nl3.php.net/features.http-auth>).

Sorry, krijg dan errors.

Kun je het aangepaste script is zijn geheel plaatsen?

Bedankt.

Martin.

Maarten Wierda
15/08/06, 23:46
Martin wrote:

>>> if(!isset($PHP_AUTH_USER)) {
>
>> Maak daar eens $_SERVER['PHP_AUTH_USER'] van
>> (<http://nl3.php.net/features.http-auth>).
>
> Sorry, krijg dan errors.

Welke? En welke kreeg je daarvoor?

> Kun je het aangepaste script is zijn geheel plaatsen?

Nee, want ik heb verder niets aangepast.



--
Cheers,
Maarten Wierda

Dietrich
15/08/06, 23:46
Martin wrote:
> Hieronder volgt een reactie op dit bericht:
>>> if(!isset($PHP_AUTH_USER)) {
>
>> Maak daar eens $_SERVER['PHP_AUTH_USER'] van
>> (<http://nl3.php.net/features.http-auth>).
>
> Sorry, krijg dan errors.
>
> Kun je het aangepaste script is zijn geheel plaatsen?
>
> Bedankt.
>
> Martin.
>
>

Welke errors?

--
MVG, Dietrich
http://www.dmoerman.be
http://www.usebb.net

Martin
15/08/06, 23:46
Hieronder volgt een reactie op dit bericht:
>>>> if(!isset($PHP_AUTH_USER)) {
>>
>>> Maak daar eens $_SERVER['PHP_AUTH_USER'] van
>>> (<http://nl3.php.net/features.http-auth>).
>>
>> Sorry, krijg dan errors.
>
> Welke? En welke kreeg je daarvoor?

Ik krijg nu geen errors, gisteren keek ik gewoon verkeerd. Maar het script
werkt nog niet want na invoer van de gebruikersnaam en wachtwoord blijft het
venster om het wachtwoord vragen. Het gaat dus niet verder met het laden van
de pagina.

Zie jij wat er nog mis is?

Groetjes Martin.


===== SCRIPT =====


<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Geef je beheercode"');
header('HTTP/1.0 401 Unauthorized');
print("<meta http-equiv='REFRESH'
content='0;URL=http://www.example.com/fout.php>");
exit;
} else {


$disp="fout";
$i=1;
$gebr[1]="jantje"; $pas[1]="pietje";
$gebr[2]="keesje"; $pas[2]="klaasje";
$gebr[3]="henkje"; $pas[3]="dirkje";

while ($gebr[$i]){
if ($PHP_AUTH_USER == $gebr[$i] and $PHP_AUTH_PW == $pas[$i]){
$disp=1;}
$i++;
}

if($disp=="fout"){
echo "<meta http-equiv='REFRESH'
content='0;URL=http://www.example.com/fout.php>";
exit;}
else {echo "";}
}
?>

Maarten Wierda
15/08/06, 23:46
Martin schreef:

>>>>> if(!isset($PHP_AUTH_USER)) {
>>>> Maak daar eens $_SERVER['PHP_AUTH_USER'] van
>>>> (<http://nl3.php.net/features.http-auth>).
>>> Sorry, krijg dan errors.
>> Welke? En welke kreeg je daarvoor?
>
> Ik krijg nu geen errors, gisteren keek ik gewoon verkeerd.

Ah, kijk eens aan.

> Maar het script werkt nog niet want na invoer van de gebruikersnaam
> en wachtwoord blijft het venster om het wachtwoord vragen. Het gaat
> dus niet verder met het laden van de pagina.
>
> Zie jij wat er nog mis is?

<snip>

> if ($PHP_AUTH_USER == $gebr[$i] and $PHP_AUTH_PW == $pas[$i]){

Ik zou hier dezelfde aanpassing doorvoeren als je in het begin van je
script hebt gebruikt.


--
Cheers,
Maarten Wierda

Martin
15/08/06, 23:46
Hieronder volgt een reactie op dit bericht:
>>>> if(!isset($PHP_AUTH_USER)) {

>>> Maak daar eens $_SERVER['PHP_AUTH_USER'] van

>> if ($PHP_AUTH_USER == $gebr[$i] and $PHP_AUTH_PW == $pas[$i]){

> Ik zou hier dezelfde aanpassing doorvoeren als je in het begin van je
> script hebt gebruikt.

Dit dus?


while ($gebr[$i]){
if (!isset($_SERVER['PHP_AUTH_USER']) == $gebr[$i] and
(!isset($_SERVER['$PHP_AUTH_PW']) == $pas[$i]){
$disp=1;}
$i++;
}


Dan volgt:

Parse error: parse error, unexpected '{' in [..]beheer.php on line 17

Maarten Wierda
15/08/06, 23:46
Martin schreef:

>>>>> if(!isset($PHP_AUTH_USER)) {
>
>>>> Maak daar eens $_SERVER['PHP_AUTH_USER'] van
>
>>> if ($PHP_AUTH_USER == $gebr[$i] and $PHP_AUTH_PW == $pas[$i]){
>
>> Ik zou hier dezelfde aanpassing doorvoeren als je in het begin van
>> je script hebt gebruikt.
>
> Dit dus?
>
> while ($gebr[$i]){ if (!isset($_SERVER['PHP_AUTH_USER']) == $gebr[$i]
> and (!isset($_SERVER['$PHP_AUTH_PW']) == $pas[$i]){ $disp=1;} $i++; }
>
Nee, isset() is hier niet echt op z'n plaats.

Wellicht verduidelijkt
<http://groups.google.nl/groups?as_q=superglobals&as_ugroup=nl.*.server-side>
het een en ander.


--
Cheers,
Maarten Wierda

Martin
15/08/06, 23:46
Hieronder volgt een reactie op dit bericht:
>>>>>> if(!isset($PHP_AUTH_USER)) {

>>>>> Maak daar eens $_SERVER['PHP_AUTH_USER'] van

>>>> if ($PHP_AUTH_USER == $gebr[$i] and $PHP_AUTH_PW == $pas[$i]){

>>> Ik zou hier dezelfde aanpassing doorvoeren als je in het begin van
>>> je script hebt gebruikt.

>> Dit dus?

>> while ($gebr[$i]){ if (!isset($_SERVER['PHP_AUTH_USER']) == $gebr[$i]
>> and (!isset($_SERVER['$PHP_AUTH_PW']) == $pas[$i]){ $disp=1;} $i++; }

> Nee, isset() is hier niet echt op z'n plaats.

> Wellicht verduidelijkt
> <http://groups.google.nl/groups?as_q=superglobals&as_ugroup=nl.*.server-side>
> het een en ander.

Hmm, niet echt ;-)

Deze dan, werkt ook niet:

if (($_SERVER['PHP_AUTH_USER']) == $gebr[$i] and ($_SERVER['$PHP_AUTH_PW'])
== $pas[$i]){

Groetjes,

Martin.

Maarten Wierda
15/08/06, 23:46
Martin schreef:

>> Wellicht verduidelijkt
>> <http://groups.google.nl/groups?as_q=superglobals&as_ugroup=nl.*.server-side>
>> het een en ander.
>
> Hmm, niet echt ;-)

Volgende poging: <http://phpfreakz.nl/artikelen.php?aid=88>.

> Deze dan, werkt ook niet:
>
> if (($_SERVER['PHP_AUTH_USER']) == $gebr[$i] and
> ($_SERVER['$PHP_AUTH_PW'])
^
Weg met dat ding! ('$' dus)


--
Cheers,
Maarten Wierda

Martin
15/08/06, 23:46
Hieronder volgt een reactie op dit bericht:
[..]

>> Deze dan, werkt ook niet:
>>
>> if (($_SERVER['PHP_AUTH_USER']) == $gebr[$i] and
>> ($_SERVER['$PHP_AUTH_PW'])
> ^
> Weg met dat ding! ('$' dus)

if (($_SERVER['PHP_AUTH_USER']) == $gebr[$i] and ($_SERVER['PHP_AUTH_PW'])
== $pas[$i]){

Nee hoor, werkt ook niet ;-)

Lezen op phpfreakz maakt de puzzel niet gemakkelijker.

Martijn Engler
15/08/06, 23:46
Martin wrote:
> Hieronder volgt een reactie op dit bericht:
> [..]
>
>>> Deze dan, werkt ook niet:
>>>
>>> if (($_SERVER['PHP_AUTH_USER']) == $gebr[$i] and
>>> ($_SERVER['$PHP_AUTH_PW'])
>> ^
>> Weg met dat ding! ('$' dus)
>
> if (($_SERVER['PHP_AUTH_USER']) == $gebr[$i] and ($_SERVER['PHP_AUTH_PW'])
> == $pas[$i]){
>
> Nee hoor, werkt ook niet ;-)
>
> Lezen op phpfreakz maakt de puzzel niet gemakkelijker.
>
>
>
En wát werkt hier niet aan dan? Parse error?

Martin
15/08/06, 23:46
Hieronder volgt een reactie op dit bericht:
> Martin wrote:
>> Hieronder volgt een reactie op dit bericht:
>> [..]
>>
>>>> Deze dan, werkt ook niet:
>>>>
>>>> if (($_SERVER['PHP_AUTH_USER']) == $gebr[$i] and
>>>> ($_SERVER['$PHP_AUTH_PW'])
>>> ^
>>> Weg met dat ding! ('$' dus)
>>
>> if (($_SERVER['PHP_AUTH_USER']) == $gebr[$i] and
>> ($_SERVER['PHP_AUTH_PW']) == $pas[$i]){
>>
>> Nee hoor, werkt ook niet ;-)
>>
>> Lezen op phpfreakz maakt de puzzel niet gemakkelijker.
>>
>>
>>
> En wát werkt hier niet aan dan? Parse error?

Nee hoor, het venster blijft gewoon open. Dus gebruikersnaam en wachtwoord
ingevuld, op OK geklikt, en het venster vult de gebruikersnaam in maar
vraagt nogmaals om het wachtwoord.

Het gaat dus niet door met het laden van de pagina.

Groetjes Martin.

Jan Reilink
15/08/06, 23:46
Martin wrote:

[HTTP authentication with PHP]
> Nee hoor, het venster blijft gewoon open. Dus gebruikersnaam en wachtwoord
> ingevuld, op OK geklikt, en het venster vult de gebruikersnaam in maar
> vraagt nogmaals om het wachtwoord.
>

Is het toevallig een IIS webserver? Dan gaat het vanwege IIS niet werken
(ook niet met de PHP directive cgi.rfc2616_headers set op 0 in php.ini).
<http://nl2.php.net/manual/en/features.http-auth.php>

--
Met vriendelijke groet / Best regards,
Jan Reilink, VEVIDA Nederland BV

Postbus 329, 9700 AH GRONINGEN, +31(0)50 - 5492234