Mn cho em hỏi nếu người khác biết chính xác thuật toán hash password của mình và giả sử họ chặn được gói tin của 1 người nào đó thì họ có thể copy cái password đã dc hash đó không ạ? Nói chung e chưa hiểu được quy trình bảo mật password từ lúc login tới khi nó đến dc server!
Sẽ như thế nào nếu người khác biết thuật toán hash password của mình?
hàm hash là hàm 1 chiều: từ input ra output tính rất lẹ nhưng từ output chuyển lại thành input thì gần như là ko thể, nên dù có output và hàm hash 1 chiều cũng ko thể tìm ra input đâu :V Trừ phi xài cách khác nếu hàm hash đó “dỏm”.
ý e là nếu e lấy được cái pass đã được hash thì e có thể mạo danh login bằng username của nạn nhân và cái pass sau khi hash thì sao nhỉ?
pass sau khi hash khi truyền tới server sẽ bị hash lần nữa nên đâu có trùng đâu :V Password em gửi qua internet là chuỗi chưa được hash, ai cũng có thể nhìn thấy, trừ phi em xài https :V
em muốn mạo danh thì chôm cookie ấy mà cookie tùy loại có loại thời hạn 1 năm có loại thời hạn 15 phút.
Thanks a ^^, sẵn cho e hỏi tại sao mình phải dùng token để validate mà không dùng trực tiếp password? lỡ người khác mượn laptop mình xong ăn cắp token của mình thì sao nhỉ?
dùng token để validate là sao :V
giống như jwt á anh! e nhầm, ý e là authenticate
cũng là 1 dạng cookie thì phải :V
thì đừng cho mượn =]]
4 posts were split to a new topic: RSA public key để decrypt message
@907pqv
Cậu nên tạo topic mới cho câu hỏi mới nha Như thế sẽ dễ dàng hơn cho các bạn khác khi tìm kiếm câu trả lời.
Dùng token để giấu mật khẩu. Thông thường người ta sẽ thiết kế token có các tính chất sau:
- Có hạn sử dụng: Sau một thời gian thì token đó hết hạn, người khác có lấy cắp được thì cũng vô ích vì lúc đó nó hết hạn rồi.
- Dễ dàng thay đổi. Nếu phát hiện ra token bị đánh cắp thì phía server sẽ chủ động tạo token mới cho người dùng, như thế token đã bị đánh cắp sẽ trở thành vô hiệu. Nếu dùng mật khẩu thì server đâu có tự ý thay thế bằng mật khẩu khác được, vì người dùng sẽ la làng lên: “sao tự dưng hôm nay tôi không đăng nhập bằng mật khẩu của tôi được nữa?”
Làm sao server biết được token bị đánh cắp bạn ?
có lẽ check địa chỉ MAC của máy
Web thì làm sao mà lấy được tới địa chỉ MAC bạn.
mình chưa thử nhưng mình search: get the MAC address in nodejs thấy ra khá nhiều câu trả lời.
Mình khẳng định 100% là website không lấy được địa MAC của máy tính client nhé cho dù web đó code bằng bất kỳ ngôn ngữ gì
có thể đoán bằng nhiều cách: ví dụ danh sách fonts trong máy installed sẵn có fonts gì; render 1 cái canvas thì mỗi loại máy mỗi khác; render audio cũng khác; render webgl cũng khác v.v… nhưng ko có lấy được mac address :V Mà ko biết trang nào rảnh thu thập dữ liệu dữ vậy =]
Hoặc là hên, bắt gặp những dấu hiệu bất thường (chẳng hạn tần suất sử dụng tăng đột biến, truy cập từ nơi lạ, khung giờ không giống mọi khi), hoặc là đã lên kịch bản phòng ngừa từ trước, đặt ra các biện pháp theo dõi.
Tất nhiên các biện pháp trên chỉ là tương đối, và phía quản trị server chỉ “nghi ngờ” chứ không dám khẳng định nó bị mất cắp thật.
Đó là nếu “NodeJS đang chạy trên chính cái máy đó”. Đối với khách đến thăm website thì chỉ có code JavaScript được gửi về và chạy trong trình duyệt thôi, chứ chẳng có NodeJS nào chạy trên máy khách để mà thấy được địa chỉ MAC cả.