WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 11.03.2004, 14:17   #1
heli2sky
Master
 
Registriert seit: 02.10.2001
Alter: 38
Beiträge: 523


heli2sky eine Nachricht über ICQ schicken
Standard http authentication

http://www.php.net/manual/en/features.http-auth.php

und wie mach ich das jetzt, dass er zugriff gewährt, wenn ich den richtigen user und passwort angegeben habe???

[edit]
sorry... geht schon!

hatte das gestern probiert, da is es nicht gegangen, jetzt gehts:

PHP-Code:
<?php
//http://at.php.net/manual/en/features.http-auth.php
function login_error()
{
 echo 
"error - login process failed.";
}

if (!isset(
$PHP_AUTH_USER))
{
 
header("WWW-Authenticate: Basic realm=\"Mosaic Authorization process\"");
 
header("HTTP/1.0 401 Unauthorized");

 
//Result if user hits cancel button
 
login_error();
}
else
{

 
//check the login and password
 
if($_SERVER['PHP_AUTH_USER']=="user" && md5($_SERVER['PHP_AUTH_PW'])=="pw(md5-verschlüsselt)")
 {
  
//User is logged
    
echo "logged in...";
 }
 else
 {
  
//This re-asks three times the login and password.
  
header"WWW-Authenticate: Basic realm=\"Test Authentication System\"");
  
header("HTTP/1.0 401 Unauthorized");

  
//Result if user does not give good login and pass
  
login_error();
 }

?>
____________________________________
Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
Lucius Annaeus Seneca


...:::www.modellbaulexikon.org:::...

www.acrobat-se.org | www.ams-8c.de.vu
heli2sky ist offline   Mit Zitat antworten
Alt 11.03.2004, 15:31   #2
heli2sky
Master
 
Registriert seit: 02.10.2001
Alter: 38
Beiträge: 523


heli2sky eine Nachricht über ICQ schicken
Standard

hmmm

andere frage: kann ich irgendwie einen gesamten ordner so schützen? vielleicht mit einem standard-auth-file das von jeder seite includet wird? mein webspace lässt nämlich keine .htaccess zu
____________________________________
Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
Lucius Annaeus Seneca


...:::www.modellbaulexikon.org:::...

www.acrobat-se.org | www.ams-8c.de.vu
heli2sky ist offline   Mit Zitat antworten
Alt 13.03.2004, 12:09   #3
SNo0py
Inventar
 
Registriert seit: 08.02.2000
Beiträge: 1.696


Standard

Mittes include_once('path/to/auth.inc'); in jedem PHP-File: ja.
Für Text-Files oder Bilder: nein.
____________________________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you.
SNo0py ist offline   Mit Zitat antworten
Alt 13.03.2004, 18:40   #4
heli2sky
Master
 
Registriert seit: 02.10.2001
Alter: 38
Beiträge: 523


heli2sky eine Nachricht über ICQ schicken
Standard

ok ich hab das jetzt so gelöst, dass ich ein index-file hab, wo die auth geprüft wird und wenn das true ist, dann werden die diversen seiten aus einem auf dem server geschützten ordner includet!

was aber nicht funktioniert: ich kann nicht mehreren usern den zugriff erlauben

PHP-Code:
 $lines file("../mysql/usertable.php");
 foreach(
$lines as $line)
     
$users[] = explode(":",$line); // ein user ist in eine zeile so gespeichert: user:40389dkjlksad843lkjsad984

 
$permission=false;
 foreach(
$users as $user) {
     if(
$_SERVER['PHP_AUTH_USER']==$user[0] && md5($_SERVER['PHP_AUTH_PW'])==$user[1])
         
$permission=true;
 }

 if(
$permission==true)
 {
  
//User is logged
[...] 
er nimmt immer nur den letzten user der datei an! was mach ich falsch?
____________________________________
Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
Lucius Annaeus Seneca


...:::www.modellbaulexikon.org:::...

www.acrobat-se.org | www.ams-8c.de.vu
heli2sky ist offline   Mit Zitat antworten
Alt 14.03.2004, 12:13   #5
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Ich glaube der Fehler liegt in der Zeile:
PHP-Code:
foreach($lines as $line
     
$users[] = explode(":",$line); 
Ich glaube es müsste so ähnlich heißen:
PHP-Code:
$i=0;$users=null;
foreach(
$lines as $line){
     
$users[i] = explode(":",$line);
     
$i++;
    } 
Ich weiß aber nicht, ob du mit miener Version nicht Probleme mit der Arraygröße bekommen kannst.

Du weist dem Array users das Array zu, daß mit explode entsteht. Daher ist in user immer nur user und passwort gespeichert.

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 14.03.2004, 15:34   #6
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Das Problem ist, dass jede Zeile von file() mit einem Linefeed "\n" abschließt.

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 14.03.2004, 20:57   #7
heli2sky
Master
 
Registriert seit: 02.10.2001
Alter: 38
Beiträge: 523


heli2sky eine Nachricht über ICQ schicken
Standard

danke - an das hab ich nicht gedacht!

aber irgendwie gehts trotzdem nicht ich wollte den \n so wegbringen: ereg_replace("\n","",$line[1]);
ich hab das zum überprüfen mal so gemacht und mit echo jedes pw ausgegeben: echo ereg_replace("\n","####",$line[1]);
das sah dann ca so aus: ökajipa9osi8408094aölkdj ####öaksdjölkasjdölkoiwe ####öaksdölkasjdölkdöalk4 ####
...also dachte ich, dass da vielleicht noch ein abstand davor ist -> fehlanzeige.

ich hab das jetzt in eine DB geschrieben, da funktioniert das problemlos! ich werde es wahrscheinlich auch auf DB basis lassen, aber mich würde trotzdem interessieren, was ich falsch gemacht habe!
____________________________________
Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
Lucius Annaeus Seneca


...:::www.modellbaulexikon.org:::...

www.acrobat-se.org | www.ams-8c.de.vu
heli2sky ist offline   Mit Zitat antworten
Alt 14.03.2004, 21:29   #8
SNo0py
Inventar
 
Registriert seit: 08.02.2000
Beiträge: 1.696


Standard

Vielleicht hast du die Datei im DOS-"Modus" abgespeichert, da ist's dann ein \r\n und nicht nur ein \n...
____________________________________
Sex is like hacking. You get in, you get out, and you hope you didnt leave something behind that can be traced back to you.
SNo0py ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:56 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag