2014-12-04 30 views
19

Oturumlar kullanıldığında, Flask bir gizli anahtar gerektirir. Gördüğüm her örnekte, gizli anahtar bir şekilde oluşturulup kaynak kodda veya yapılandırma dosyasında saklanır.Flask her başladığında neden gizli anahtar üretilmiyor?

Kalıcı olarak saklamanın nedeni nedir? Uygulama başladığında neden basitçe üretilmiyor?

app.secret_key = os.urandom(50) 

cevap

24

Oturum anahtarı, oturum çerezini imzalamak için kullanılır. Uygulamanızı yeniden başlatmanız ve anahtarı yeniden oluşturmanız gerekiyorsa, mevcut tüm oturumlar geçersiz hale getirilir. Muhtemelen istediğin şey değil (ya da en azından, geçersiz kılma oturumlarına gitmenin doğru yolu değil). Benzer bir durum, gizli şifre anahtarına dayanan, örneğin şifre sıfırlama URL'leri sağlamak için oluşturduğu belirteçler gibi (örneğin) gizli bir şey için de yapılabilir.

Standart uygulama, repo için bazı çıkış düğmelerine sahip olmaktır (böylece, dev makineler için var) ve ardından dağıtımı yaparken anahtarı yerel yapılandırmada ayarlayın. Bu şekilde, anahtar sızdırmaz ve yeniden oluşturulmasına gerek yoktur. Ayrıca, arka plan görevlerini çalıştırmak için Kereviz veya uygulamanın birden çok yük dengeli örneği gibi uygulama içeriğine bağlı olan ikincil sistemlerin çalıştırılması da söz konusudur. Uygulamanın her çalışan örneği farklı ayarlara sahipse, bazı durumlarda doğru şekilde birlikte çalışmayabilirler.

+1

Uygulamayı yeniden başlatmanın geçerli durumu ne olurdu (kendi başına bir sorun olan bir kilitlenme dışında)? Sonsuza dek koşması beklenmiyor mu? –

+7

@MainMa Peki, hatasız, özellikli kod ilk kez basmazsanız, muhtemelen bir noktada yeni bir sürüm dağıtmak isteyeceksiniz. – davidism