Avatar billede sukos Juniormester
25. marts 2003 - 14:41 Der er 11 kommentarer og
1 løsning

Beskytte sider, hvor brugeren ikke tillader cookies

hey
Er ved at lave et login, hvor det skal virke selvom brugeren ikke accepterer cookies.
Virker osse fint nok, men der er bare lige den detalje, at hvis brugeren sender et link videre fra en beskyttet side, kan andre se hvad brugeren også kan se!

Synes jeg har været hele ini_set omkring sessions igennem, men der er ikke noget som jeg får til at virke! :O)

Eneste løsning lige nu, er at tjekke ip'en, og hvis ikke den stemmer, ja, så ser man ikke indholdet.

Er der ikke andre måder?
Avatar billede sukos Juniormester
25. marts 2003 - 14:56 #2
Jeg kikker selvf. ikke min egen side igennem, da det jo IKKE er relevant!
Vil ikke bruge htaccess!

Kikker lige på lundes' side
Avatar billede sukos Juniormester
25. marts 2003 - 14:57 #3
sorry, raffar, men intet nyt under himlen!
Avatar billede raffar Juniormester
25. marts 2003 - 14:58 #4
Sorrrrry.... lidt for hurtig, men din side er jo til hjælp for mange!
Avatar billede raffar Juniormester
25. marts 2003 - 15:00 #5
Så du denne af Morten Fangel i spg. http://www.eksperten.dk/spm/332884
Det kan måske bruges.

lav denne fil
--- auth.php ---
<?php

/*
; Name      DsD Single-User Password
; Auther    Morten Fangel
*/

$md5_user = "[md5 sum af korrekt bruger]";
$md5_paswd = "[md5 sum af korrekt paswd]";

if(isset($HTTP_COOKIE_VARS['logget'],$HTTP_COOKIE_VARS['sidst_aktiv']) AND $HTTP_COOKIE_VARS['sidst_aktiv'] < time() + (60*15)){

// skal lige sikre sig at det nu er korrekt

  $arr = explode("||",$HTTP_COOKIE_VARS['logget']);
  $user = $arr[0];
  $paswd = $arr[1];
  if($user == $md5_user AND $paswd == $md5_paswd){
    setcookie("logget",$user . "||" . $paswd);
    setcookie("sidst_aktiv",time());
  }
  else{
    setcookie("logget","",time()-1);
    setcookie("sidst_aktiv","",time()-1);
    echo "<h1>GÅ VÆK...</h1>du skal være logget ind... prøv at reload siden ved at trykke [F5]...";
    exit;
  }   

}
else{
  if(isset($HTTP_POST_VARS['navn'],$HTTP_POST_VARS['kode'])){
    $user = md5($HTTP_POST_VARS['navn']);
    $paswd = md5($HTTP_POST_VARS['kode']);
    if($user == $md5_user AND $paswd == $md5_paswd){
      setcookie("logget",$user . "||" . $paswd);
      setcookie("sidst_aktiv",time());
      echo "<a href=\"?videre=ja\"><b>KORREKT... videre?</b></a>";
      exit;
    }
    else{
      echo "<b>FORKERT...</b><br><br>";
    }
  }

?>
---

og i toppen af alle filer der skal beskyttes skriver du

<?php
include("auth.php");
?>
Avatar billede raffar Juniormester
25. marts 2003 - 15:01 #6
sukos _> endnu engang hurtigere end mig!
Avatar billede fangel Nybegynder
25. marts 2003 - 15:24 #7
raffer => ved ikke om du har set at mit script benytter cookies, som Sukos prøver at undgå... ;)
men glad for at du skriver mit script... ;) jeg er beæret ;)

Morten
Avatar billede raffar Juniormester
25. marts 2003 - 20:26 #8
dea_pg  => :(( Det er ikke min dag i dag...:) Men jeg prøver dog bare at hjælpe :)) Jeg lærer noget nyt hele tiden..
Avatar billede raffar Juniormester
25. marts 2003 - 20:27 #9
PS. jeg er blot en novice når det kommer til dette....!
Avatar billede sukos Juniormester
26. marts 2003 - 18:41 #10
Nåh hvis man IKKE vil tillade en cookie, så ok, og så er dte sgu osse ens egen fejl hvis man linker til en beskyttet side!

Havde dog håbet at der var en mulighed med PHP men ser ikke ud til det.
Avatar billede schaefner Juniormester
26. marts 2003 - 18:43 #11
Kunne du egentlig ikke tjekke om brugeren kommer fra dit domæne?
Avatar billede sukos Juniormester
26. marts 2003 - 19:53 #12
jo, men der er bare det at HTTP_REFERER ikke virker 100% i alle browsere
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