Có lẽ tôi đang hoang tưởng một chút, nhưng khi tôi viết lại một mô-đun liên lạc, câu hỏi sau đây được lưu ý:Chức năng gốc của php an toàn khi sử dụng với đầu vào chưa được lọc là gì?
Tôi có thể sử dụng đầu vào chưa được lọc trong các chức năng gốc của php không?
Nó rất dễ dàng để khử trùng công cụ để đưa vào một cơ sở dữ liệu, xuất ra màn hình, vv nhưng tôi đã tự hỏi nếu ví dụ như các tuyên bố sau có thể là nguy hiểm:
if (file_exists($_POST['brochure'])) {
// do some stuff
}
Nếu ai đó bằng cách nào đó quản lý để gửi đến trang đó, mã trên có thể được khai thác không?
Đoạn mã trên chỉ là một ví dụ, tôi có thể nghĩ đến các chức năng khác mà tôi sử dụng khi xử lý biểu mẫu.
Chỉnh sửa: Cảm ơn tất cả mọi người, file_exists trong ví dụ này thực sự là một phần của chức năng vệ sinh nhưng khi dọn dẹp, chức năng php đang được sử dụng để nhanh chóng trở thành câu chuyện về gà và trứng: Để sử dụng chức năng, tôi có để làm sạch, nhưng để làm sạch tôi phải sử dụng chức năng.
Dù sao, tôi đã có một số ý tưởng mới ngay bây giờ.
php có quyền truy cập vào nhiều tệp hơn apache. Dừng apache hiển thị các tập tin .ht * và .ini sẽ không ngăn php đọc chúng. – Marius
@Marius điều này rất đúng. – UnkwnTech
điểm tuyệt vời. Tôi đang học những điều gây sốc ở đây :) – m42