Series Bảo Mật Nhập Môn – Giao thức HTTP “bảo mật” đến mức nào?

Sau một khoảng thời gian vật vã thì mình cũng hoàn thành bài đầu tiên trong series Bảo Mật Nhập Môn. Bài viết này sẽ bàn về sự “bảo mật” của giao thức HTTP.

Website của Lazada và Ngân hàng ACB sẽ bị lôi ra làm ví dụ. Vì bài viết khá dài nên các bạn cứ từ từ đọc nhé.

Ôn lại về HTTP

HTTP là một giao thức dùng để truyền nhận dữ liệu (Xem thêm ở đây). Hiện tại, phần lớn dữ liệu trên Internet đều được truyền thông qua giao thức HTTP. Các ứng dụng Web hoặc Mobile cũng gọi Restful API thông qua giao thức HTTP.

Tuy nhiên, nhược điểm của HTTP là dữ liệu được truyền dưới dạng plain text, không hề được mã hoá hay bảo mật. Điều này dẫn đến việc hacker có thể dễ dàng nghe lén, chôm chỉa và chỉnh sửa dữ liệu. Người ta gọi kiểu tấn công này là Man-in-the-middle attack, viết tắt là MITM.

Continue reading Series Bảo Mật Nhập Môn – Giao thức HTTP “bảo mật” đến mức nào?

Advertisements

Đừng để mình trở thành coder “siêu nhân”

Từ chuyện ngày xưa

Ngày xửa ngày xưa, à thật ra cũng không xưa lắm, khoảng những năm 75-90, có một số lão lập trình viên rảnh hơi, thực hiện một số nghiên cứu rảnh hơi để … đo năng suất làm việc của developer.

Kết quả thu được thật đáng ngạc nhiên! Chênh lệch về năng suất làm việc của 2 developer là rất lớn. Một developer giỏi có thế có năng suất gấp 10 lần một developer khác.

Người đời gọi những developer giỏi này là rockstar developer, 10x developer. Huyền thoại về các developer “siêu nhân”, “thần thánh” cũng ra đời từ đó.

rock-star-developer-or-programmer

Continue reading Đừng để mình trở thành coder “siêu nhân”

Series Phản Phác Qui Chân – Luận về Optimize Code

Đa số các bạn newbie thường phạm phải một sai lầm cơ bản: Quá mức quan tâm về tốc độ thực thi của code,  của ngôn ngữ lập trình. Đây là một thói quen nên bỏ!

Trong bài viết hôm nay, mình sẽ giải thích về việc tối ưu code: Optimize code một cách pro nhất! Khi nào cần optimize, khi nào không nên optimize code?

Continue reading Series Phản Phác Qui Chân – Luận về Optimize Code

Lập trình viên có cần học đại học hay không?

Dạo gần đây mình hay gặp một số topic kiểu “Cảm thấy mất định hướng khi học Đại học”, “Liệu em có nên bỏ Đại Học hay không?”, “Kiến thức Đại học toàn thứ vô bổ!”. Các topic này cho thấy nhiều bạn sinh viên đang cảm thấy hoang mang về giá trị của việc học đại học.

Do vậy, mình viết bài này để phân tích những cái lợi của việc học Đại Học, giúp các bạn trẻ vững tin hơn trên con đường đã chọn.

Continue reading Lập trình viên có cần học đại học hay không?

Review sách: SQL Antipatterns – Những sai lầm chết người khi làm việc với SQL

Giới thiệu

Mấy hôm trước, khi mình lên stackoverflow hỏi một số câu liên quan tới SQL thì nghe nhắc tới khái niệm SQL Antipattern. Khác với design pattern, anti pattern là những cách thiết kế để giải quyết vấn đề, nhưng sử dụng nó lại… gây ra nhiều vấn đề hơn. Một antipattern được nhiều người biết đó là hút thuốc lào thay cho thuốc lá, cách này cai được thuốc lá nhưng sẽ gây ra nhiều vấn đề vệ sinh và môi trường hơn.

Từ hồi dùng thứ này bố bỏ hẳn thuốc lá nhá
Từ hồi dùng thứ này bố bỏ hẳn thuốc lá nhá

Tìm hiểu sâu hơn, mình tìm thấy cuốn sách “SQL Antipattern” này. Cuốn này được đánh giá rất cao trên amazon, nói về những sai lầm dễ mắc phải khi thiết kế và sử dụng SQL Database. Nội dung rất hữu dụng với các bạn database administator hoặc back-end developer nhé.

Screen Shot 2016-08-14 at 12.54.58

Continue reading Review sách: SQL Antipatterns – Những sai lầm chết người khi làm việc với SQL

Năm điều lập trình viên nên học hỏi từ Sơn Tùng MTP

Nhân dịp sếp Tùng đang hot, hôm nay mình lôi tên tuổi sếp Tùng vào bài viết để câu view và câu like.

Đùa đấy, dạo gần đây viết nhiều bài về technical căng thẳng quá nên viết bài này để đổi không khí một tí. Bài viết theo phong cách nhẹ nhàng hài hước nhưng nội dung hoàn toàn nghiêm túc, các bạn nhớ đọc kĩ nhé.

Chia sẻ luôn là mình không phải Sky, cũng không phải fan của Tùng. Chẳng qua là mỗi mỗi code thì mình hay để nhạc không lời hoặc nhạc Tùng làm background cho nhẹ đầu óc thôi. Nghe các thể loại nhạc sâu sắc khác mình không tập trung được.

son-tung-mtp-blogtamsuvn-52

Continue reading Năm điều lập trình viên nên học hỏi từ Sơn Tùng MTP

Series Bảo Mật Nhập Môn – Bảo mật cơ bản cho developer

Giới thiệu

Bảo mật là một vấn đề rất tốn kém và phức tạp. Gần như hệ thống nào cũng có lỗ hổng (cả phần mềm lẫn phần cứng), các hacker có thể thông qua các lỗ hổng này để tấn công hệ thống.

Việc đảm bảo hệ thống bảo mật là trách nhiệm của rất nhiều bên: Sys admin, network, manager và developer. Do mình không chuyên về bảo mật nên mình không rành về việc config hệ thống mạng, setup tường lửa v…v, do đó mình sẽ không chém gió lung tung về mảng này. Thay vào đó, mình sẽ cùng các bạn tiếp cận khía cạnh bảo mật dưới góc nhìn của một developer.

Internet Security System

Những kiến thức trong series này rất cơ bản, dễ học, nhưng chúng sẽ vô cùng hữu ích, giúp bạn tránh phải những sai lầm bảo mật “ngớ ngẩn, cơ bản” khi code. Dù cho bạn code C hay C++, Java C# hay PHP, bạn cũng sẽ học được vài điều bổ ích qua series này.

Continue reading Series Bảo Mật Nhập Môn – Bảo mật cơ bản cho developer