Ga naar inhoud

[PHP] server krijgt van zichzelf een 401


Aanbevolen berichten

hoi ik maak een eigen login scriptje, een pagina die beveiligd wordt krijgt [code:1:bd444c5342] require "login.php"; [/code:1:bd444c5342] login.php vraagt dan een uname en ww en checkt die. (tot zover gaat het goed) dan gaat ie kijken naar welke pagina er is gevraagd en voegt hij die in (het require gedeelte slaat hij over) [code:1:bd444c5342] function getdoc(){ print $_SERVER['PHP_SELF']; $doc = strstr($_SERVER['PHP_SELF'], "/"); $file = file("http://server$doc"); for($i=4;$i<count($file);$i++){ print $file; } exit; } [/code:1:bd444c5342] maar als ik heb ingelogd, geeft hij de volgende fout: [b:bd444c5342]Warning:[/b:bd444c5342] file(http://server/g/zon.php): failed to open stream: HTTP request failed! HTTP/1.1 401 Authorization Required in c:\server\map f\webserver\login.php on line 31 hij moet dus blijkbaar ook bij zichzelf inloggen. :-? moet ik iets veranderen in de php instellingen? en wat?
Link naar reactie
Vraagje: waarom voeg je een script in ([i:9d62e167b1]getdoc()[/i:9d62e167b1]) terwijl je deze in eerste instantie al aangeroepen hebt? M.a.w. het zou voldoende moeten zijn om het volgende te doen: [code:1:9d62e167b1] - voeg login.php toe aan een script wat gecontroleerd moet worden - controleer in login.php of de gebruiker ingelogd is - zo ja: ga verder - zo nee: stop executie van script [/code:1:9d62e167b1] Aanvullend bij de laatste stap zou je dan nog de credentials van de gebruiker kunnen vragen (loginschermpje).
Link naar reactie
[quote:95327929a7="supergj"]ben ik dan ook van mijn 401 probleem af?[/quote:95327929a7] Dat weet ik niet, ik kan het niet voor je testen. [quote:95327929a7="supergj"]en nog een vraagje dan: hoe kan je ervoor zorgen dat hij zon.php verder gaat uitvoeren? hij stopt er namelijk mee na login.php[/quote:95327929a7] Als een script geen exit() of redirect (of iets dergelijks) tegenkomt dan moet deze gewoon doorgaan. Kijk je code dus even na op dit soort commando's. Om te debuggen waar je ergens zit in de code kan je op strategische plekken even een [code:1:95327929a7]echo "U bevindt zich hier";[/code:1:95327929a7]toevoegen.
Link naar reactie
die functie (getdoc()) waar eerst stond dat ie de opgevraagde pagina ging printen, heb ik leeg gemaakt. maar hij gaat nu toch niet verder met zon.php als je succesvol ben ingelogd, komt hij nergens meer exit tegen. als ik in getdoc() gewoon alleen zet [code:1:f97ebf1841]print "je ben ingelogd"; [/code:1:f97ebf1841] gaat hij niet verder met zon.php (hij print wel je ben ingelogd) is er niet een manier om te verwijzen naar de rest van het script in zon.php?
Link naar reactie
[quote:d4fb644e44="supergj"]is er niet een manier om te verwijzen naar de rest van het script in zon.php?[/quote:d4fb644e44] Dat is je probleem cq. oplossing niet. Verder gaan met de rest van je script gebeurd automatisch (return uit een functie) als de flow van je script goed is. Er gaat dus nog steeds ergens iets fout en het lijkt me slimmer om daar op te focussen in plaats van om het probleem heen te werken. Een versimpeld voorbeeldje (ongetest): [b:d4fb644e44]login.php[/b:d4fb644e44] [code:1:d4fb644e44] <?php /* bepalen of iemand ingelogd is */ $ingelogd = true; // dit is even de versimpelde check ;) if ($ingelogd) { /* print boodschap */ echo "<p>welkom</p>"; } else { /* print error en stop verwerking van het script */ echo "<p>niet ingelogd</p>"; exit; } ?> [/code:1:d4fb644e44] [b:d4fb644e44]script met login check[/b:d4fb644e44] [code:1:d4fb644e44] <?php require_once("login.php"); echo "<p>hier staat de rest van je pagina</p>"; ?> [/code:1:d4fb644e44]
Link naar reactie
[quote:c9ef4ae492="BasHamar"][quote:c9ef4ae492="InZane"]Ik controleer meestal of de session aanwezig is. [/quote:c9ef4ae492]Veilig is anders... Als je toch op een session controleert, stop er dan een gebruikersnaam/wachtwoord(MD5)-combinatie in die je kan controleren. Een session faken is nl niet zo moeilijk. - Bas[/quote:c9ef4ae492] Uiteraard worden user en pass gecontroleerd. Lijkt me niet meer dan logisch ;)
Link naar reactie
[quote:416f55d9a6="supergj"]ik heb toch een exit; over het hoofd gezien.[/quote:416f55d9a6]Een tip voor de volgende keer dat je gaat debuggen: In vrijwel elke zichzelf respecterende tekstverwerker zit een zoekfunctie, meestal onder CTRL-F. Veel handiger dan zelf regel voor regel je code doorlopen. Doe hier je voordeel mee! ;) :D - Bas
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...