Tôi đang tham gia bước đột phá đầu tiên vào mô-đun bảo mật Kim tự tháp. Tôi đang sử dụng mã đăng nhập này để thiết lập auth_tkt:Câu hỏi Pyramid.security: Double cookies? Cookie không an toàn? Hết hạn?
@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)
Có vẻ như để làm việc ok, nhưng có một số chi tiết khó hiểu:
Trước hết, 2 cookie thực sự được thiết lập thay vì một. 2 cookie giống nhau (cả với tên "auth_tkt") ngoại trừ một sự khác biệt: một cookie có giá trị máy chủ lưu trữ là ".www.mydomain.com" trong khi cookie khác có giá trị máy chủ lưu trữ là "www.mydomain.com" 2 cookie được đặt thay vì một cookie? Ý nghĩa của các giá trị host khác nhau là gì?
Câu hỏi 2, các công cụ web báo cáo rằng cả cookie đều không an toàn. Tôi có thể làm gì để đảm bảo cookie/s được bảo mật?
Câu hỏi 3: Cả hai cookie đều có giá trị hết hạn là "Vào cuối phiên". Điều này có nghĩa là gì và làm thế nào tôi có thể tùy chỉnh giá trị hết hạn của bản thân mình? Thực hành được khuyến nghị cho thời gian hết hạn cookie đăng nhập là gì?
Câu hỏi 4: Tôi không hiểu tại sao đối số đầu tiên của "ghi nhớ" là self.request thay vì self.request.response. Không nên ghi nhớ dữ liệu trên đối tượng phản hồi, không phải đối tượng yêu cầu?
Có lẽ bạn có nghĩa là 'serverUserGUID = '1123123123''; bạn gọi 'nhớ' với tên biến đó. –
Cảm ơn bạn ... Tôi đã sửa lỗi. – zakdances