Trong khi phát triển một ứng dụng web PHP, một nhà phát triển web cũng nên quan tâm đến các thực tiễn bảo mật tốt nhất. Một ứng dụng web không an toàn cung cấp cho tin tặc cơ hội đánh cắp thông tin có giá trị, chẳng hạn như dữ liệu người dùng hoặc thông tin thẻ tín dụng. Ngoài ra, vi phạm dữ liệu có thể có tác động mạnh mẽ đến uy tín và hoạt động trong tương lai của tổ chức của bạn.
Để tăng cường các cơ chế quốc phòng của bạn, bài viết này liệt kê 10 thực tiễn tốt nhất bảo mật quan trọng cho các ứng dụng PHP. Bắt đầu nào!
1. Cập nhật phiên bản PHP của bạn thường xuyên
Kể từ ngày 9 tháng 7 năm 2020, bản phát hành ổn định cho PHP là phiên bản 7.4.8. Điều quan trọng là thường xuyên cập nhật phiên bản PHP của bạn vì các phiên bản mới hơn thường chứa các bản vá cho các vấn đề bảo mật đã biết. Nếu bạn không cập nhật phiên bản PHP của mình lên bản phát hành ổn định mới nhất, tin tặc có thể khai thác các lỗ hổng bảo mật đã biết với các bản phát hành cũ hơn.
Hơn nữa, PHP cho phép bạn thử bản phát hành xem trước. Hiện tại, bản phát hành này là 8.0.0 beta 2. Tuy nhiên, các cố vấn bảo mật không khuyến khích các công ty tham gia vào các bản phát hành xem trước thử nghiệm vì chúng vẫn có thể chứa các lỗ hổng bảo mật không xác định.
2. Cẩn thận với các cuộc tấn công XSS [kịch bản chéo trang]
Một cuộc tấn công XSS, còn được gọi là kịch bản chéo trang, đề cập đến việc thực thi mã từ xa ngoài dự đoán bởi ứng dụng web của bạn. Ví dụ: cuộc tấn công XSS có thể xảy ra khi ứng dụng web của bạn chấp nhận đầu vào của người dùng và in trực tiếp vào trang web. Bất cứ khi nào người dùng độc hại bao gồm HTML, JavaScript hoặc thậm chí CSS, ứng dụng web của bạn sẽ thực thi mã từ xa.
Ví dụ dưới đây bao gồm một biểu mẫu chấp nhận đầu vào của người dùng.
Tiếp theo, chúng tôi in dữ liệu được nhập trực tiếp vào trang web.
Trong trường hợp này, người dùng có thể nhập đường dẫn độc hại như
alert["Hacker was here"]1 và hiển thị nội dung của tệp
alert["Hacker was here"]2 trên máy chủ Linux/Unix. Do đó, không bao giờ chấp nhận đầu vào người dùng để yêu cầu một trang. Nếu bạn vẫn muốn chấp nhận đầu vào của người dùng để mở tệp, hãy đảm bảo xác nhận đầu vào của người dùng.
Hơn nữa, sử dụng thực tiễn số 6 tốt nhất để hạn chế quyền truy cập thư mục với hàm
10. Hãy nhớ rằng, các vấn đề tài liệu
Cuối cùng, đừng quên ghi lại hành động của bạn. Bất cứ khi nào bạn thực hiện các thay đổi cho máy chủ của mình, hãy cập nhật phiên bản chứng chỉ SSL hoặc thay đổi mật khẩu, đảm bảo ghi lại những thay đổi đó.
Các nhà phát triển khác có thể thấy thông tin này hữu ích bất cứ khi nào họ muốn thay đổi máy chủ. Nó cho phép họ nhanh chóng kiểm tra những gì đã xảy ra gần đây. Bằng cách này, bạn đã giành chiến thắng gặp phải những bất ngờ bất ngờ, chẳng hạn như mật khẩu không dùng nữa cho máy chủ MySQL của bạn.
Hơn nữa, tài liệu là một phương tiện lý tưởng để chuyển kiến thức. Trong trường hợp nhà phát triển rời khỏi công ty của bạn hoặc bị bệnh, không có kiến thức nào bị mất. Đó là mục đích chính của tài liệu về kiến thức truyền tải.
Tóm tắt bảo mật PHP
Cuối cùng, với tư cách là nhà phát triển PHP, bạn có trách nhiệm không chỉ thực hiện logic kinh doanh cần thiết mà còn để đảm bảo bảo mật của nó và mã mà bạn đã phát triển.
Bài học quan trọng từ bài viết này là xác nhận đầu vào của người dùng. Đầu vào của người dùng không được đánh giá thường là cơ sở của một vấn đề bảo mật. Hãy xem các vấn đề bảo mật như bao gồm tệp từ xa, mã hóa URL hoặc tấn công XSS. Tất cả chúng xảy ra thông qua đầu vào người dùng không hợp lệ.
Bạn muốn tìm hiểu thêm về thực hành bảo mật PHP tốt nhất? Đảm bảo kiểm tra Hướng dẫn bảo mật PHP và Danh sách kiểm tra bảo mật PHP SQREEN.
—-
Bài đăng này được viết bởi Michiel Mulder. Michiel là một nhà phát triển blockchain đam mê, thích viết nội dung kỹ thuật. Bên cạnh đó, anh thích học về tiếp thị, tâm lý học UX và tinh thần kinh doanh. Khi anh ấy không viết, anh ấy có lẽ thưởng thức bia Bỉ!