/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Log ind
Fra : Jimmy


Dato : 04-07-03 07:32

Hej

På en Linux er der oprettet en række brugere.
Der afvikles Apache og php på samme maskine.

Jeg ønsker at give adgang til en række sider, hvis brugeren er logget ind.
Hans brugernavn og adgangskode skal være dem, han er oprettet på maskinen
med og derfor læses fra passwordfilen, så der er minimal administration, når
brugere skifter adgangskode mv.

Er dette muligt, og hvordan?

Mvh
Jimmy



 
 
Peter Sepstrup (04-07-2003)
Kommentar
Fra : Peter Sepstrup


Dato : 04-07-03 12:18

Jimmy wrote:

> Hej
>
> På en Linux er der oprettet en række brugere.
> Der afvikles Apache og php på samme maskine.
>
> Jeg ønsker at give adgang til en række sider, hvis brugeren er logget ind.
> Hans brugernavn og adgangskode skal være dem, han er oprettet på maskinen
> med og derfor læses fra passwordfilen, så der er minimal administration,
> når brugere skifter adgangskode mv.
>
> Er dette muligt, og hvordan?

Det er nok nærmere i apache gruppen du skal spørge hvis du vil lave det med
..htaccess, jeg har dog aldrig hørt om at det skulle kunne lade sig gøre...
jeg tror det er mere brugt at lave et script til bruger oprettelse som så
samtidigt opretter folk i en .htaccess passwd fil... spørg evt. om det i
unix gruppen.

--
Mvh. Peter.
____________________________________
www.SepstrupNET.dk & www.PHP-FAQ.dk

Jimmy (04-07-2003)
Kommentar
Fra : Jimmy


Dato : 04-07-03 14:42


"Peter Sepstrup" <peter@_REMOVE_sepstrupnet.dk> wrote in message
news:3f0563bd$0$48914$edfadb0f@dtext02.news.tele.dk...
> Jimmy wrote:
>
> > Hej
> >
> > På en Linux er der oprettet en række brugere.
> > Der afvikles Apache og php på samme maskine.
> >
> > Jeg ønsker at give adgang til en række sider, hvis brugeren er logget
ind.
> > Hans brugernavn og adgangskode skal være dem, han er oprettet på
maskinen
> > med og derfor læses fra passwordfilen, så der er minimal administration,
> > når brugere skifter adgangskode mv.
> >
> > Er dette muligt, og hvordan?
>
> Det er nok nærmere i apache gruppen du skal spørge hvis du vil lave det
med
> .htaccess,

Ikke nødvendigvis med htaccess.

Det vigtige er blot, at php kan undersøge, om et user/pass svarer til en
gyldig bruger på maskinen.

Det kan jeg ikke være den første der har haft behov for at finde ud af.
I yderste instans må det være noget med at php læser password-filen og
checker derigennem.

Mvh
Jimmy



Peter Sepstrup (04-07-2003)
Kommentar
Fra : Peter Sepstrup


Dato : 04-07-03 15:21

Jimmy wrote:

> Ikke nødvendigvis med htaccess.
>
> Det vigtige er blot, at php kan undersøge, om et user/pass svarer til en
> gyldig bruger på maskinen.
>
> Det kan jeg ikke være den første der har haft behov for at finde ud af.
> I yderste instans må det være noget med at php læser password-filen og
> checker derigennem.

Ok, jeg har måske nok misforståen dig en smule før... jeg vil nok ikke mene
der er så smart at læse direkte i passwd filen med php, men så igen hellere
noget med et script så brugere automatisk bliver lagt i en anden fil også,
som php så kan læse...
--
Mvh. Peter.
___________________________________
www.SepstrupNET.dk & www.PHP-FAQ.dk

Per Thomsen (06-07-2003)
Kommentar
Fra : Per Thomsen


Dato : 06-07-03 11:59

Jimmy wrote:

> "Peter Sepstrup" <peter@_REMOVE_sepstrupnet.dk> wrote in message
> news:3f0563bd$0$48914$edfadb0f@dtext02.news.tele.dk...
[snip]
>>>På en Linux er der oprettet en række brugere.
>>>Der afvikles Apache og php på samme maskine.
>>>
>>>Jeg ønsker at give adgang til en række sider, hvis brugeren er logget ind.
>>>Hans brugernavn og adgangskode skal være dem, han er oprettet på maskinen
>>>med og derfor læses fra passwordfilen, så der er minimal administration,
>>>når brugere skifter adgangskode mv.
[snip]
>
> Ikke nødvendigvis med htaccess.
>
> Det vigtige er blot, at php kan undersøge, om et user/pass svarer til en
> gyldig bruger på maskinen.

Hej Jimmy.

Jeg går så ud fra at du _har_ tænkt over den sikkerhedsbrist der ligger
i at gøre det du taler om - hvis ikke du har det vil jeg da anbefale at
du spørger om det i en ny tråd (måske ovenikøbet i en anden gruppe
f.eks. dk.edb.sikkerhed). NB! Jeg har ikke selv gennemtænkt
sikkerhedsrisici i det scenarie du opstiller, bare lynhurtigt
konkluderet at jeg ikke ville lave sådan en løsning, men...

Metoden at gøre det på er nok noget med at bruger funktionerne file og
crypt.

I en kommentar til crypt, er der f.eks. en der har skrevet følgende
kodestump:

$user = "user";
$pass = "pass";
$autharray = file("/etc/shadow");

for ($x = 0; $x < count($autharray); $x++)
{
if (eregi("^$user:", $autharray[$x]))
{
$passwd = explode(":", $autharray[$x]);
$salt = substr($passwd[1],0,11);
$cryptpw = crypt($pass,$salt);
if ($cryptpw == $passwd[1])
{
echo "Login ok";
} else {
echo "Error login failed";
}
}
}


Det er da vist rimelig nemt at lave til en funktion, du kan bruge til noget.

MVH Per Thomsen,
http://www.pert.dk/


Jimmy (07-07-2003)
Kommentar
Fra : Jimmy


Dato : 07-07-03 08:47


"Per Thomsen" <pert@pert.dk> wrote in message
news:3f0800ca$0$1659$ba624c82@nntp05.dk.telia.net...
> Jimmy wrote:
>
> I en kommentar til crypt, er der f.eks. en der har skrevet følgende
> kodestump:
>
> $user = "user";
> $pass = "pass";
> $autharray = file("/etc/shadow");
>
> for ($x = 0; $x < count($autharray); $x++)
> {
> if (eregi("^$user:", $autharray[$x]))
> {
> $passwd = explode(":", $autharray[$x]);
> $salt = substr($passwd[1],0,11);
> $cryptpw = crypt($pass,$salt);
> if ($cryptpw == $passwd[1])
> {
> echo "Login ok";
> } else {
> echo "Error login failed";
> }
> }
> }
>
>
> Det er da vist rimelig nemt at lave til en funktion, du kan bruge til
noget.


Ja det ser faktisk fint ud.
Det er klart det er et problem at apache har læserettigheder til
shadow-filen, men jeg tror også det er sådan mod_auth_pam gør det.

Tak for hjælpen,
Jimmy



Morten Winkler Jørge~ (07-07-2003)
Kommentar
Fra : Morten Winkler Jørge~


Dato : 07-07-03 07:45

Måske skulle du opsætte en POP3 eller FTP (for G*** skyld ikke wu-ftpd)
server på Linuxboksen og så POP/FTP AUTH'e det opgivne brugernavn og
password. Så vil det automatisk ske mod de på Linuxboksen gældende sæt
passwords. Den eneste sikekrhedsrisiko der ligger i det er om burgernavn /
password bliver opsnappet under overførslen.


Morten

Morten Winkler Jørge~ (07-07-2003)
Kommentar
Fra : Morten Winkler Jørge~


Dato : 07-07-03 08:42

Og her er så funktionen der gør det...


function ftpLogin($user, $pwd, $server = "localhost") {

//Connect to server
$conn_id = ftp_connect($server);

//Supply username and password. Suppress warings and excetution halts.
$login_result = @ftp_login($conn_id, $user, $pwd);

//Close connection
ftp_quit($conn_id);

if($login_result == 1) return 1; //Return the...
else return 0; //... appropriate value.
}

Jimmy (07-07-2003)
Kommentar
Fra : Jimmy


Dato : 07-07-03 08:49


"Morten Winkler Jørgensen" <mwj@INGEN_SPAM_TIL_MIG.mip.sdu.dk> wrote in
message news:beb7vd$v21$1@news.net.uni-c.dk...
> Og her er så funktionen der gør det...


Jo tak - det er en metode jeg ikke tidligere har tænkt på.
Alle brugerne har faktisk FTP-adgang, så det kunne være et hack, jeg kunne
bruge til noget.

Jeg har fået instlleret mod_auth_pam, som skulle kunne klare autoriseringen,
men jeg ved ikke om jeg kan gribe deres brugernavn endnu.

Mvh
JImmy



Søg
Reklame
Statistik
Spørgsmål : 177502
Tips : 31968
Nyheder : 719565
Indlæg : 6408538
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste