Zabieram moją pierwszą wyprawę do modułu bezpieczeństwa Pyramid. Używam tego kodu logowania ustawić auth_tkt:Pyramid.security pytania: Podwójne ciasteczka? Niepewne pliki cookie? Wygaśnięcie?
@view_config(route_name='LoginForm', request_method='POST', renderer='string')
class LoginForm(SimpleObject):
def __call__(self):
emailAddress = self.request.params.get('emailAddress')
password = self.request.params.get('password')
if emailAddress != '[email protected]' or password != 'testpassword':
errorDictionary = { 'message' : "Either the email address or password is wrong." }
self.request.response.status = 400
return json.dumps(errorDictionary, default=json_util.default)
testUserGUID = '123123123'
headers = remember(self.request, testUserGUID)
return HTTPOk(headers=headers)
wydaje się działać ok, ale istnieją pewne zagadkowe szczegóły:
Przede wszystkim, 2 ciasteczka rzeczywiście gotowi zamiast jednego. Te 2 ciasteczka są identyczne (obie z nazwą "auth_tkt") z wyjątkiem jednej różnicy: jedna ma wartość hosta ".www.mydomain.com", podczas gdy druga strona ma wartość hosta "www.mydomain.com". 2 pliki cookie są ustawione zamiast jednego? Jakie jest znaczenie różnicy wartości hosta?
Pytanie 2, narzędzia internetowe zgłaszają, że żadne pliki cookie nie są bezpieczne. Co mogę zrobić, aby upewnić się, że pliki cookie są bezpieczne?
Pytanie 3: Oba pliki cookie mają wartość wygasania "Na koniec sesji". Co to oznacza i jak mogę sam dostosować wartość wygaśnięcia? Jaka jest zalecana praktyka w przypadku wygaśnięcia ważności plików cookie logowania?
Pytanie 4: Nie rozumiem, dlaczego pierwszym argumentem "zapamiętaj" jest self.request zamiast self.request.response. Czy dane nie powinny być pamiętane w obiekcie odpowiedzi, a nie w obiekcie żądania?
Prawdopodobnie chodziło o 'serverUserGUID = '1123123123''; nazywasz 'remember' tą nazwą zmiennej. –
Dzięki ... Naprawiłem błąd. – zakdances