Avatar billede moddi100 Seniormester
30. november 2008 - 16:24 Der er 11 kommentarer og
1 løsning

Automatisk log bruger ind (.htaccess)

Hej

Hvordan kan jeg logge ind bruger ind hvis jeg har følgende?

www.domain.dk/secure/
Er beskyttet af en standard .htaccess

www.domain.dk/script.php
file("http://user:pwd@domain.dk/secure"); // Eller noget lignende

Det jeg så ønsker er, at man ved at kalde script.php bliver logget ind så man kan tilgå mappen secure uden at brugeren selv skal angive login.
Avatar billede tjens Nybegynder
30. november 2008 - 20:07 #1
Jeg har lige tested dette:
<script type="text/javascript">
location.href = "http://user:pwd@domain.dk/secure" ;
</script>

Det virker i Firefox, men ikke i MSIE 7.
Jeg mener også at have læst at user/password i links skulle udgå, da det blev opfattet som en sikkerhedsrisiko.
Avatar billede htx98i17 Professor
01. december 2008 - 19:23 #2
Jeg forstår ikke dit spørgsmål. Din htaccess er der vel netop for at sikre med adgangskoden. Kan du ikke prøve at forklare igen.
Avatar billede moddi100 Seniormester
05. december 2008 - 15:14 #3
Jeg havde tænkt mig at beskytte mit galleri på denne måde. Folk der går ind på min side vil kunne se billeder men søgemaskiner og lignende vil ikke kunne.

tjens -> Hvis jeg jævnligt udskifter brugernavnet og passwordet burde det være godt nok, da der ikke behøves den største sikkerhed på dette.
Avatar billede moddi100 Seniormester
05. december 2008 - 15:16 #4
tjens -> Søger en løsning PHP og ikke Javascript. Har prøvet at lave eksemplet med følgende stump kode:

<--snip-->
<?php
file("http://user:pwd@domain.dk/secure");
?>
<img src='folder/eksempel.png' />
<--snip-->

Men det virker dog ikke.
Avatar billede tjens Nybegynder
05. december 2008 - 22:32 #5
php er ikke begrænset af .htaccess: Der kan du navigere rundt i folderne på webserverne med almindelige change-directory kommandoer.

Du kan endda gå over html folderen med ../../

Derfor skal du lave et php-script getPic.php, der returnerer selve billedet sådan her:

<?php header("Content-type: image/jpeg");
$picName = $_GET[image];
imagejpeg(Imagecreatefromjpeg("./secure/$picName"));
?>

Så kan du lave links til billeder i dine sider som:
http://www.domain.dk/getPic.php?image=billedfilnavn.jpg

eller imagetags
<img src=getPic.php?image=billedfilnavn.jpg>

Jeg vil dog anbefale at du validerer variabel $picName i scriptet, og kontrollerer at det slutter på .jpg og ikke indeholder http:// ../ og lignende.
Hvis det ikke kan valideres kan du returnere et error.jpg så klienten får et billede retur.
Avatar billede moddi100 Seniormester
06. december 2008 - 14:41 #6
Hvordan kan jeg så teste at billederne ikke hentes via f.eks. google hvis jeg gør det på en sådan måde? Meningen er jo netop, at man kun kan se billederne på mit domæne.
Avatar billede tjens Nybegynder
06. december 2008 - 20:21 #7
Søgemaskiner er ikke uvenlige: Hvis du læser om robots.txt og andre styringsredskaber, kan du få dem til at ignorere dit site.

Men jeg forstår ikke helt hvordan du ønsker, at din webserver skal kunne se forskel på alm. besøgende og søgemaskiner, når en besøgende ikke skal logge ind på nogen måde?

Men hvis du har login og sessions, kan du udvide mit forslag med sessioncheck.
Avatar billede moddi100 Seniormester
07. december 2008 - 00:07 #8
Jeg ønsker at når man ser index-filen, giver den en tilladelse til at hente billederne. Hvis man derimod bare laver et link til billedet, <img src='Mitdonæne.dk/folder/img'> får man en fejl.

Jeg ønsker altså ikke at folk kan hotlinke mine billeder. Det kan selvfølgelig omgås, men det kræver lidt mere
Avatar billede tjens Nybegynder
07. december 2008 - 10:33 #9
Nu er det ikke lige et område hvor jeg har erfaring, men burde man ikke kunne udvide ovenstående getPic.php med at teste på om HTTP_REFERER er lig med din side?
Avatar billede moddi100 Seniormester
07. december 2008 - 13:44 #10
Det kan man også gøre. Men synes nu det andet ville være bedre.

Har dog fundet et en anden (tredje) metode at gøre det på. Den virker umiddelbart som den bedste.
Avatar billede moddi100 Seniormester
03. maj 2009 - 10:11 #11
smid et svar tjens
Avatar billede tjens Nybegynder
03. maj 2009 - 16:08 #12
OK
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester