webForumDet fria alternativet

RSS + PHP + Sessions + Safari = knas

7 svar · 675 visningar · startad av bassebhu

bassebhuMedlem sedan nov. 20016 480 inlägg
#1

Tja!

Har en RSS-ström som funkar perfekt och skrivs ut via en php-fil, men skulle vilja sätta den bakom en session-isset-check.

När jag sätter

if(isset($_SESSION['session'])) {
// RSS-kod
}

så försvinner rss-posterna i Safari. Jag har bara testat Safari och FireFox och i den senare så funkar det.

Lite lurigt om detta ska postas i webbläsare eller php ;)

Nån som har varit med om liknande? Slänger iväg en chansning bara.

Min teori är att firefox läser in strömmen med http://bla.com/rss.php och Safari läser in feed://bla.com/rss.php och då känner webbläsaren bara av sessionen för http://

Som sagt, bara min teori, men kan det vara så? Hur får man sessionen att även gälla feed:// i så fall?

Taxi!

TroxyMedlem sedan mars 20041 505 inlägg
#2

Hm...en session har ofta en kort livslängd och går lätt förlorad.
Session-cookien kanske inte är tillgänglig när Safari försöker läsa feedet?
Varför vill du sätta ditt feed bakom en session? :)

bassebhuMedlem sedan nov. 20016 480 inlägg
#3

Nej, det är det jag menar. Sessionen lever fortfarande, men nås inte från feeden. Det händer dock bara i Safari som sagt.

En session används för att skydda innehållet. Vill man visa det i en rss-läsare så tänkte jag skydda med samma session.

bassebhuMedlem sedan nov. 20016 480 inlägg
#4

Bump :)

TroxyMedlem sedan mars 20041 505 inlägg
#5

Kör du session_start() i rss-filen?
Gör ett feed som visar var_dump($_COOKIE) så ser du vilka cookies som Safari skickar med.
Om du inte hittar PHPSESSID där så har du problemet framför dig.

Jag tycker det verkar konstigt att skydda en feed med en session.
Feeds är ju tänkta att man ska prenumerera på under en tid.
En session lever ju bara några minuter så det blir lite knäppt.

bassebhuMedlem sedan nov. 20016 480 inlägg
#6

Troxy skrev:

Kör du session_start() i rss-filen?
Gör ett feed som visar var_dump($_COOKIE) så ser du vilka cookies som Safari skickar med.
Om du inte hittar PHPSESSID där så har du problemet framför dig.

Jag tycker det verkar konstigt att skydda en feed med en session.
Feeds är ju tänkta att man ska prenumerera på under en tid.
En session lever ju bara några minuter så det blir lite knäppt.

Jepps, men jag gillar att använda Safaris RSS för att bläddra, söka och sortera data. Bra för utskrifter också.

Går jag till http://bla.com/rss.php så hittar den som sagt sessionen, men inte om jag går till feed://bla.com/rss.php

Nåja, det var ingen livsviktig funktion, men tycker att det borde gå att lösas. Datan måste hur som helst skyddas.

effataMedlem sedan apr. 2008137 inlägg
#7

Det traditionella sättet att lösa sånt här på brukar vara att ge varje "användare" ett unikt hashvärde som skickas som argument till rssfeeden. Vill du säkra upp det ytterligare kan du registrera vilka ipadresser användaren loggar in ifrån och bara tillåta dom.

bassebhuMedlem sedan nov. 20016 480 inlägg
#8

effata skrev:

Det traditionella sättet att lösa sånt här på brukar vara att ge varje "användare" ett unikt hashvärde som skickas som argument till rssfeeden. Vill du säkra upp det ytterligare kan du registrera vilka ipadresser användaren loggar in ifrån och bara tillåta dom.

Sant. Så fick det bli! Tack.

129 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)