Bảo mật 22/09/2026 6 phút

So sánh hằng thời gian: vì sao dùng == để so token là lỗ hổng đo được

So sánh chuỗi bí mật bằng == trông vô hại, nhưng nó thoát sớm ở byte sai đầu tiên — và thời gian chạy rò rỉ số byte đúng. Bài này đo THẬT bằng Go: hàm so thoát sớm tăng đều từ 1,2 ns (0 byte đúng) tới 8,6 ns (31 byte đúng), một timing oracle rõ rệt; còn ConstantTimeCompare phẳng lì ~9,2 ns bất kể khớp bao nhiêu.

Bảo mật 22/09/2026 7 phút

Argon2: vì sao băm mật khẩu phải CHẬM và tốn bộ nhớ có chủ đích

Dùng SHA-256 để băm mật khẩu là một sai lầm bảo mật kinh điển — vì nó quá nhanh. Bài này đo THẬT bằng Go: SHA-256 chạy 31 triệu lần/giây mỗi lõi, trong khi Argon2id chậm hơn ~559.000 lần có chủ đích. Đo cách tăng bộ nhớ (8→128 MiB) kéo thời gian băm từ 3,7 ms lên 324 ms, và vì sao tính bộ-nhớ-cứng của Argon2 vô hiệu hoá GPU dò mật khẩu.

DevOps 22/09/2026 6 phút

Bảo mật container: vì sao container mặc định chạy root, và ba lớp phòng thủ giảm rủi ro

Mặc định container chạy dưới quyền root — kẻ khai thác được app là có root trong container. Bài này đo thật ba lớp phòng thủ: --user chạy non-root (ghi /etc bị Permission denied), --cap-drop ALL bỏ quyền đặc quyền (root cũng không chown được), và --read-only khoá rootfs (không ghi được binary). Phòng thủ theo lớp để một container bị chiếm không thành thảm hoạ.

Odoo 18/09/2026 5 phút

Trang /my của Odoo: mỗi khách đăng nhập vào chỉ thấy đúng đơn, hoá đơn, thẻ của chính mình — cơ chế đằng sau là portal

Portal là khu 'Tài khoản của tôi' cho khách hàng đăng nhập. Mổ xẻ CustomerPortal, override _prepare_home_portal_values để thêm ô đếm, và portal.mixin (access_url/access_token) — qua một ô Thẻ thành viên gắn thật vào /my của Odoo 19.

Odoo 18/09/2026 5 phút

Quên một dòng csrf_token, cả biểu mẫu đăng ký trả về 400: cách nhận dữ liệu từ khách qua website form đúng cách

Dựng một form công khai để khách gửi dữ liệu vào Odoo: route GET render form, route POST tạo bản ghi. Mổ xẻ csrf_token bắt buộc, sudo cho public user, validate và honeypot chống bot — qua form đăng ký dựng thật rồi submit trên Odoo 19.