Avatar billede horsmark Nybegynder
26. april 2004 - 09:17 Der er 6 kommentarer og
1 løsning

Cookieproblemer IFRAME & IE

Jeg har et problem med at få cookie og sessions til at arbejde sammen som ønsket på et intranet hvor der kun køres med IE.

Intranettet er en "skal" opbygget via frontpage men på visse sider i frontpagesiderne har jeg opsat IFRAMEs der kalder mit eget webhotel uden for firewallsne -> www.horsmark.com

Følgende script opretter/skriver en cookie:
function func_cookie_create($cookie_content){
  //Set cookie to 2 years before expirering
  if(setcookie("SiteMark_CMS", $cookie_content, time()+60*60*24*365*2, " ")){
  return true;
  }
  return false;
}

Følgende script checker så om cookien er der og er ok:
function func_cookie_check($url_redirect = false){
  if (!isset($_COOKIE['SiteMark_CMS'])) {
  if($url_redirect){
    header("Location: $url_redirect");
    exit;
  }
  return false;
  } else {
  //Cookie is set - check if user exists and access is granted
  func_dbConn("open");
  $user_name = $_COOKIE['SiteMark_CMS'];
  $sql = "
          SELECT * FROM tblsm_user_tree WHERE
          node_name = '$user_name' AND    node_status_id = 1
        ";
  $query = mysql_query($sql) or die(mysql_error());
}
return true;
}

Jeg kan sagtens få det til at spille på min udviklingsserver men det er først når jeg tester det på produktion at cookierne ikke bliver oprettet ?
Avatar billede mcgoat Nybegynder
26. april 2004 - 09:20 #1
Sikkerhed i Internet Explorer der skal sættes ned? eller måske hvis der er personlig firewall på pc?
Avatar billede horsmark Nybegynder
26. april 2004 - 10:36 #2
nej jeg testede om der kunne gemmes cookies fra andre websteder og det kan der sagtens... Så det kan ikke være indstillingerne... det må være noget med min kode (oprettelse af cookie tror jeg)
Avatar billede sukos Juniormester
26. april 2004 - 11:31 #3
Du skal jo angi' for hvilket domæne cookien skal gælde.
Pr. default accepterer IE ikke, at cookies sat på et domæne også gælder på et andet domæne.
Avatar billede horsmark Nybegynder
26. april 2004 - 11:46 #4
Hvordan "kigger" IE på hvilket domæne der er tale om ? top.location.href url´en ?

Hvis det er topurl´en (hvilket jeg også overvejede) så er der jo helt sikkert et proplem med IFRAMES eftersom IFRAMEN kalder en anden url end intranettet kører på.
Avatar billede horsmark Nybegynder
27. april 2004 - 09:16 #5
top url: http://intranet.tdb.dk - leverer indhold

iframe: http://www.horsmark.com - læser og sætter cookie

Volder dette problemer ?
Avatar billede horsmark Nybegynder
03. maj 2004 - 12:12 #6
sukos>> Jeg har nu angivet for hvilket domæne cookien gælder og cookiesystemet virker stadig fint hvis koden ikke er sat i en IFRAME

Har nu testet lidt rundt og jeg kan se at den SAMME kode virker forskelligt alt efter om cookie_create.php kaldes direkte i url´en eller om cookie_create.php kaldes via en IFRAME.

eks:
Virker >>  url: www.horsmark.com/cookie_create.php
Virker IKKE ???>> url: http://intranet.tdb.dk - (hvor en IFRAME kalder www.horsmark.com/cookie_create.php)

HJÆLP ! ?
Avatar billede horsmark Nybegynder
03. maj 2004 - 12:53 #7
Problemet er isoleret da dette issue handler om thirdparty cookies ikke om koden virker eller ej. Der står noget mere om dette på http://dk2.php.net/setcookie/ under brugerkomentarer.

Jeg lukker spørgsmålet og koder en anden måde brugerne kan logge på.
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