/ 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
Problemer med htaccess login
Fra : Michael Kjærsgård


Dato : 27-06-06 11:24

Har på en webside lavet passwordbeskyttelse via. .htaccess, og det
virker også fint - på nogle computere.

Nogle brugere klager dog over at de konsekvent bliver spurgt om password
2 gange, selvom de påstår hårdnakket at have skrevet korrekt også
første gang ;)

Kender nogen til denne problemstilling, synes måske engang at have hørt
at bestemte virusprogrammer kan forstyrre .htaccess, men er det en and
eller har det noget på sig?

Andre forslag?

Evt. alternative måder at lave et sikkert loginsystem på?


--
Michael


 
 
Peter Brodersen (27-06-2006)
Kommentar
Fra : Peter Brodersen


Dato : 27-06-06 11:46

On Tue, 27 Jun 2006 12:24:26 +0200, Michael Kjærsgård
<mk@vindenand.dk> wrote:

>Nogle brugere klager dog over at de konsekvent bliver spurgt om password
> 2 gange, selvom de påstår hårdnakket at have skrevet korrekt også
>første gang ;)
>
>Kender nogen til denne problemstilling, synes måske engang at have hørt
>at bestemte virusprogrammer kan forstyrre .htaccess, men er det en and
>eller har det noget på sig?

Mit gæt er, at siden er tilgængelig på to forskellige hostnavne, fx
eksempel.dk og www.eksempel.dk.

Brugeren tilgår siden på den ene adresse, bliver bedt om brugernavn og
kodeord, og bliver så viderestillet til den anden adresse.

Det sker typisk, hvis der er tale om en undermappe, og serveren selv
viderestiller brugeren. Fx hvis serveren er sat op til at
www.eksempel.dk er servernavnet, og man besøger eksempel.dk/undermappe
- så bliver man spurgt om kodeord, hvorefter serveren redirecter til
www.eksempel.dk/undermappe/ - og fordi det så er et nyt hostnavn,
spørges der om brugernavn og kodeord igen.

Man kan være konsekvent i navngivningen og sætte webserveren til altid
at redirect alt fra det ene hostnavn til det andet, eller man kan
sætte webserveren op til at benytte det aktuelle hostnavn, når der
redirectes (ved for Apache at sætte: UseCanonicalName Off )


Menøhm... hvad har php at gøre med dit spørgsmål?
--
- Peter Brodersen
Ugens^WMånedens^WSommerens værktøj - Find vej: www.findvej.dk
Nu med link direkte til en adresse, fx: www.findvej.dk/Nybrogade2,1203

Michael Kjærsgård (27-06-2006)
Kommentar
Fra : Michael Kjærsgård


Dato : 27-06-06 21:44

> Mit gæt er, at siden er tilgængelig på to forskellige hostnavne, fx
> eksempel.dk og www.eksempel.dk.

Jeg tror du rammer hovedet på sømmet der, jeg bukker og takker mange gange.


> Menøhm... hvad har php at gøre med dit spørgsmål?

Mnjøe.. måske havde jeg håbet på link til et loginsystem i php?
Well, den var lidt søgt, men hvordan bortforklarer man ellers man har
postet forkert..

Beklager mange gange, og endnu engang tak


--
Michael


ThomasB (27-06-2006)
Kommentar
Fra : ThomasB


Dato : 27-06-06 23:43

"Michael Kjærsgård" <mk@vindenand.dk> skrev i en meddelelse
news:MMgog.5450$Sa1.2756@news.get2net.dk...

> Mnjøe.. måske havde jeg håbet på link til et loginsystem i php?
> Well, den var lidt søgt, men hvordan bortforklarer man ellers man har
> postet forkert..´

Lav en fil (f.eks "loginsystem.php") med koden jeg har skrevet nederst og
inkluder den i toppen (vigtigt) på dine sider med
include('loginsystem.php');

<?php
if (
($PHP_AUTH_USER=="user1" && $PHP_AUTH_PW=="pass1") or
($PHP_AUTH_USER=="user2" && $PHP_AUTH_PW=="pass2") or
($PHP_AUTH_USER=="user3" && $PHP_AUTH_PW=="pass3") or
($PHP_AUTH_USER=="user4" && $PHP_AUTH_PW=="pass4") or
($PHP_AUTH_USER=="user5" && $PHP_AUTH_PW=="pass5")
) {
echo "Du har nu adgang";
// her kan så også laves en variabel der åbner for resten af siden f.eks
$oklogin = "yes";
}else{
header("status: 401 Unauthorized");
header("HTTP/1.0 401 Unauthorized");
header("WWW-authenticate: basic realm=\"SKRIV_HVAD_DU_VIL_HER\"");

print "<br><b>Login eller password er forkert.<br>Du har ikke adgang til
denne del.<br></b>";
die; //denne kan fjernes og istedet kan indsættes f.eks $oklogin = "no";
}
?>

Mvh Thomas



Dan Storm (28-06-2006)
Kommentar
Fra : Dan Storm


Dato : 28-06-06 08:24

ThomasB skrev:
> Lav en fil (f.eks "loginsystem.php") med koden jeg har skrevet
nederst og
> inkluder den i toppen (vigtigt) på dine sider med
> include('loginsystem.php');
>
[snip]

Det er da vist noget gammel kode du slynger ud der?
$_SERVER['PHP_AUTH_USER'] og $_SERVER['PHP_AUTH_PW'] er de prædefinerede
variabler som du skal benytte til din basale adgangskontrol.

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

ThomasB (28-06-2006)
Kommentar
Fra : ThomasB


Dato : 28-06-06 08:35

"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:44a22eb1$0$90468$edfadb0f@dread11.news.tele.dk...
> > Lav en fil (f.eks "loginsystem.php") med koden jeg har skrevet nederst
> og
>> inkluder den i toppen (vigtigt) på dine sider med
>> include('loginsystem.php');
>>
> [snip]
>
> Det er da vist noget gammel kode du slynger ud der?
> $_SERVER['PHP_AUTH_USER'] og $_SERVER['PHP_AUTH_PW'] er de prædefinerede
> variabler som du skal benytte til din basale adgangskontrol.

Hehe ja, det var noget jeg lavede i 2000 :)




Dan Storm (28-06-2006)
Kommentar
Fra : Dan Storm


Dato : 28-06-06 10:37

ThomasB skrev:
> Hehe ja, det var noget jeg lavede i 2000 :)
ahhh.... ja, det forklarer jo en del! ;)

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

ThomasB (28-06-2006)
Kommentar
Fra : ThomasB


Dato : 28-06-06 08:32


"ThomasB" <usenet*fjern*@*SKAL FJERNES*2ma2.dk> skrev i en meddelelse
news:44a1b491$0$15781$14726298@news.sunsite.dk...
> "Michael Kjærsgård" <mk@vindenand.dk> skrev i en meddelelse
> news:MMgog.5450$Sa1.2756@news.get2net.dk...
>
>> Mnjøe.. måske havde jeg håbet på link til et loginsystem i php?
>> Well, den var lidt søgt, men hvordan bortforklarer man ellers man har
>> postet forkert..´
>
> Lav en fil (f.eks "loginsystem.php") med koden jeg har skrevet nederst og
> inkluder den i toppen (vigtigt) på dine sider med
> include('loginsystem.php');

Prøv denne i stedet:

<?php
if (
!($PHP_AUTH_USER=="user1" && $PHP_AUTH_PW=="pass1") or
!($PHP_AUTH_USER=="user2" && $PHP_AUTH_PW=="pass2") or
!($PHP_AUTH_USER=="user3" && $PHP_AUTH_PW=="pass3") or
!($PHP_AUTH_USER=="user4" && $PHP_AUTH_PW=="pass4") or
!($PHP_AUTH_USER=="user5" && $PHP_AUTH_PW=="pass5")
) {
header("status: 401 Unauthorized");
header("HTTP/1.0 401 Unauthorized");
header("WWW-authenticate: basic realm=\"SKRIV_HVAD_DU_VIL_HER\"");

print "<br><b>Login eller password er forkert.<br>Du har ikke adgang til
denne del.<br></b>";
die; //denne kan fjernes og istedet kan indsættes f.eks $oklogin = "no";

}else{
echo "Du har nu adgang";
// her kan så også laves en variabel der åbner for resten af siden f.eks
$oklogin = "yes";
}
?>



Michael Kjærsgård (28-06-2006)
Kommentar
Fra : Michael Kjærsgård


Dato : 28-06-06 10:07

> Prøv denne i stedet:

Tak det vil jeg også kigge på :)


--
Michael


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

Månedens bedste
Årets bedste
Sidste års bedste