login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost] www-authenticate

Offline tswebdev - 21/01/2007 00:11 (laatste wijziging 21/01/2007 13:50)
Avatar van tswebdevPHP interesse Ik heb een klein scriptje om iemand te laten inloggen op het admin gedeelte. Ik heb het script lokaal getest en alles werkt. Maar eens ik het upload en op men site test werkt het ineens niet meer. Weet iemand een oplossing?

Code:
  1. <?php
  2.  
  3. $login_succesvol = false;
  4.  
  5. if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])){
  6.  
  7. $gn = $_SERVER['PHP_AUTH_USER'];
  8. $pw = $_SERVER['PHP_AUTH_PW'];
  9.  
  10. if ($gn == 'Admin' && $pw == 'wachtwoord'){
  11. $login_succesvol = true;
  12. }
  13. }
  14.  
  15. if (!$login_succesvol){
  16.  
  17. header('WWW-Authenticate: Basic realm="Admingedeelte"');
  18. header('HTTP/1.0 401 Unauthorized');
  19. exit('Deze webpagina is enkel toegankelijk voor administrators.');
  20.  
  21. }
  22. ?>

7 antwoorden

Gesponsorde links
Offline Chupskie - 21/01/2007 00:42
Avatar van Chupskie MySQL beginner Krijg je wel een melding of error melding te zien? Of helemaal niks?
Offline tswebdev - 21/01/2007 00:46
Avatar van tswebdev PHP interesse Het inlogkader blijft gewoon de hele tijd terugkomen.
Ik typ de gegevens correct in dus daar kan het niet aan liggen.
Offline Kr4nKz1n - 21/01/2007 01:58
Avatar van Kr4nKz1n Onbekend Ik zie het probleem niet zo gauw.
Maar wat ik wel altijd jammer vindt, zijn de onnodige variabelen die worden aangemaakt.

  1. <?
  2. if ($_SERVER['PHP_AUTH_USER'] == 'Admin' && $_SERVER['PHP_AUTH_PW'] == 'wachtwoord'){
  3. $login_succesvol = true;
  4. }


Geen $gn en $pw aanmaken.
Offline tswebdev - 21/01/2007 12:18
Avatar van tswebdev PHP interesse Die variabelen zal ik voortaan proberen te vermijden.
Maar heeft er echt niemand een oplossing?
Offline nemesiskoen - 21/01/2007 12:31 (laatste wijziging 21/01/2007 12:32)
Avatar van nemesiskoen Gouden medaille

PHP expert
Dump misschien eens $_SERVER['PHP_AUTH_USER'] en $_SERVER['PHP_AUTH_PW'] om te zien wat hun waardes zijn na het invullen.
Offline Murfzor_ - 21/01/2007 12:34 (laatste wijziging 21/01/2007 12:35)
Avatar van Murfzor_ Nieuw lid
  1. <?php
  2. if(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])){
  3. if($_SERVER['PHP_AUTH_USER'] == 'Admin' && $_SERVER['PHP_AUTH_PW'] == 'wachtwoord') {
  4. echo '<h1>Welkom, Admin!';
  5. require 'een beveiligde pagina hier.php';
  6. }
  7. }
  8.  
  9. header('WWW-Authenticate: Basic realm="Admingedeelte"');
  10. header('HTTP/1.0 401 Unauthorized');
  11. echo 'Enkel toegankelijk voor administrators!';
  12. ?>


Probeer zo eens, minder aanmaak van onnodige variabelen. En zoals vage zegt, dump beide waarden eens.

Let ook op, het is hoofdlettergevoelig, dus Admin != admin!
Offline tswebdev - 21/01/2007 12:49 (laatste wijziging 21/01/2007 13:33)
Avatar van tswebdev PHP interesse ik heb al een oplossing gevonden.
Ik had aan men host om info gevraagd en deze vertelde me dat het kon liggen aan het feit dat php was geinstalleerd als cgi module ipv apache module. Hij stelde me daarna een oplossing voor mbv een htaccess bestand

De oplossing:
2 bestanden in de map plaatsen die je wil beveiligen:

.htaccess:
  1. AuthName "CMS V0.2"
  2. AuthType Basic
  3. AuthUserFile /customers/domain.com/domain.com/httpd.www/beveiligdemap/.htpasswd
  4. require valid-user

Het AuthUserFile verschilt bij iedere host! dit is de AuthUserFile van one.com

.htpasswd:
  1. gebruikersnaam:encryptwachtwoord

Encrypt wachtwoord:
http://mirage.golden.net/generator/
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.229s