2013-03-08 25 views
11
Gerçekten burada anlayamadığım bir şey var

:Ekspres Oturum + Açısal: connect.sid Çerez erişimi olamaz

Ben sunucu tarafında çalışan ekspres var, oturumu ile başlatıldı.

bu yazı Confusion over session IDs using Connect yılında mentionned
app.use(express.session({ 
    secret: 'mySecret' 
    }) 
})); 

, bu isteklere connect.sid çerez gönderir. istemci tarafında

, bu çerezin içeriğini okumak istiyorum ve imkansız hissediyor: Bu çalıştırdığınızda

angular.module('myApp.controllers', ['ngCookies','myApp.services']) 
.controller('homeCtrl', function($scope, $cookies) { 
    $cookies['test']='myValue'; 
    console.log($cookies); 
}); 

, ben günlüğüne bu nesneyi almak: eğer oysa Object {test: "myValue"} ben yanlış yapıyorum

Screenshot of Ressources tab in chrome debugger

: Ben hem çerezleri görebilirsiniz Krom ayıklayıcısında ressources sekmesine gitmek?

Sunucu yapımı çerezlere açısal olarak erişmek imkansız mı?

Teşekkür Varsayılan olarak

cevap

14

oturumu httpOnly çerez (look here) kullanan bağlayın. 0Open bayrağı ayarlandığında, çerezi okumak her zaman yasaktır.

app.use(express.session({ 
    secret: 'mySecret', 
    cookie: { httpOnly: false } 
})); 
+1

'here' bağlantı öldü bak. Lütfen güncelleyin – CodyBugstein

5

Küçük bir sorunun tespit ancak başka oluşturma ve kötü sorun olmadığını Dikkatli olun:

deneyin httpOnly bayrağını devre dışı bırakmak için. HttpOnly bayrağı genellikle XSS saldırılarına karşı savunma yapmak için kullanılır. Daha fazla ayrıntı için OWASP bu bağlantıyı bakın: https://www.owasp.org/index.php/HttpOnly

İlginç bir hikaye bu burada hakkında: http://blog.codinghorror.com/protecting-your-cookies-httponly/

+0

Cevap bir yorum değil. Bazı itibarı kazanın ve ardından bu tür bir yanıt için yorumları kullanın. –

İlgili konular