programming:module:security
Khác biệt
Đây là những khác biệt giữa hai phiên bản của trang.
Phiên bản trước của cả hai bênPhiên bản trướcPhiên bản sau | Phiên bản trước | ||
programming:module:security [2015/11/11 14:23] – hoaquynhtim99 | programming:module:security [2015/11/18 08:46] (hiện tại) – hoaquynhtim99 | ||
---|---|---|---|
Dòng 1: | Dòng 1: | ||
===== Bảo mật trong kiểm tra tồn tại file với đường dẫn file nhập từ người dùng ===== | ===== Bảo mật trong kiểm tra tồn tại file với đường dẫn file nhập từ người dùng ===== | ||
- | ===== Bảo mật trong kiểm tra tồn tại file với đường dẫn file nhập | + | Thông thường để kiểm tra file hoặc thư mục tồn tại ta dùng hàm file_exists, |
- | ===== Bảo mật trong kiểm tra tồn tại file với đường dẫn file nhập từ người dùng ===== | + | Ví dụ: Trong module news, khi thêm bài viết có ô chọn hình minh họa như ảnh |
+ | {{ programming: | ||
+ | Nếu chỉ thực hiện việc đọc dữ liệu sau đó kiểm tra is_file: | ||
+ | <code php> | ||
+ | $rowcontent[' | ||
+ | if( is_file( NV_DOCUMENT_ROOT . $rowcontent[' | ||
+ | { | ||
+ | $lu = strlen( NV_BASE_SITEURL . NV_UPLOADS_DIR . '/' | ||
+ | $rowcontent[' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Thì sau khi kiểm tra giá trị $rowcontent[' | ||
+ | |||
+ | Để đảm bảo an toàn, người lập trình module cần sử dụng hàm nv_is_file thay vì is_file hay file_exists. Khi đó đoạn code trên được viết lại | ||
+ | <code php> | ||
+ | $rowcontent[' | ||
+ | |||
+ | if( nv_is_file( $rowcontent[' | ||
+ | { | ||
+ | $lu = strlen( NV_BASE_SITEURL . NV_UPLOADS_DIR . '/' | ||
+ | $rowcontent[' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Cách sử dụng hàm [[: |
programming/module/security.1447226627.txt.gz · Sửa đổi lần cuối: 2015/11/11 14:23 bởi hoaquynhtim99