Phỏng vấn PHP


Thời gian gần đây tham gia phỏng vấn Dev cho team, tôi hay đặt ra 1 câu hỏi như sau:

Có 2 người là Trần văn Chịch và Lê thị Xoạc, 2 người cùng đăng ký sử dụng dịch vụ của bạn, cùng sử dụng 1 mật khẩu là 123456, vậy mật khẩu của người dùng được xử lý như thế nào.

1. Không mã hóa mật khẩu: Chúng ta chia tay nhau ở đây, hẹn khi nào em bớt dễ dãi thì mình gặp nhau lại em nhé.

2. Có mã hóa.

2a) Output mã hóa giống nhau trong DB
- Hơi buồn 1 tí. Chắc chắn là md5 hoặc sha1 rồi, tệ hơn nữa, em ếu biết, framework (thầy, cô, trên mạng) bảo thế và em làm theo.
- Em vẫn hơi dễ dãi, anh rất buồn. Anh đẹp trai nhưng khó tính.

2b) Output string trong DB khác nhau.

Cảm thấy hứng thú với những bạn ứng viên như vậy, tuy nhiên, qua quá trình đọc và PV, nhận thấy rất nhiều ứng viên rơi vào tình trạng như sau.

2b.1). Em sử dụng tính năng có sẵn của Framework
- Đối tượng này đa phần sử dụng các FW hiện đại như Laravel, Yii..., có class Auth có sẵn, chỉ extends và dùng. Tiện, nhanh nhưng ếu biết vì sao nó chạy, ếu biết nó mã hóa như nào luôn.

Mình nghĩ đối tượng này tương đối nhiều trong thời buổi hiện tại. Sử dụng FW theo cast và không hiểu bản chất của nó. Dẫn đến 1 thực tế là biết nhiều, nhiều kiến thức nhưng không nối được với nhau. Dẫn đến việc làm ra những sản phẩm không đủ an toàn và không đi sâu.

2b.2) Tự xây dựng thuật toán sử dụng hàm băm đủ mạnh như bcript, alowfish... kèm theo muối (saltkey).

Đặc biệt ấn tượng với đối tượng này. Thông thường, kèm theo đó mình hay hỏi về vụ lộ password của Zing vừa rồi để hỏi thử xem có quan tâm gì đến tình hình thế giới hay không.

Đến đây: Em ơi, mình sinh ra là dành cho nhau rồi. Hãy về với đội của anh em nhé <3

P/s: 1 trong những bài học mình luôn dạy cho những đứa em thân thiết là

- có 1 cái CMS, ếu có password, ếu có DB Password, không biết thuật toán mã hóa password nhưng có full code -> làm cách nào để login vào hệ thống?

Thực ra vấn đề không khó giải quyết, nhưng đáng tiếc, không nhiều người làm được. Những vấn đề này không phải quá khó, nhưng nó là 1 bài toán xử lý tình huống điển hình. Rơi vào khó khăn và tìm cách giải quyết. Người có thể vận dụng sự hiểu biết này để leo thang hệ thống. Không giỏi, nhưng chắc chắn có ích.
post-edit

Không có nhận xét nào :

- Không bình luận các vấn đề to lớn như chính trị và tôn giáo
- Nội dung nên liên quan tới bài viết.
- Hãy đóng góp ý kiến của bạn để Blog hoàn thiện hơn.