Tôi thường phải đối mặt với các nhận xét tiêu cực bất cứ khi nào tôi muốn có một tập lệnh PHP ghi đầu ra vào một tệp trên máy chủ.Làm thế nào để bạn cho phép PHP ghi vào một tệp mà không ảnh hưởng đến bảo mật máy chủ
Tôi sử dụng các chức năng fopen()
, fwrite()
và fclose()
. Cách duy nhất tôi biết làm thế nào để thực hiện điều này xảy ra là thiết lập quyền cho tệp đầu ra 0666 hoặc có quyền sở hữu bởi "không ai" (là người dùng mà PHP chạy dưới máy chủ web Apache của chúng tôi).
Vì vậy, nếu "0666" hoặc "do không ai sở hữu" là những rủi ro về bảo mật, bạn cho phép viết kịch bản PHP thành công như thế nào và an toàn?
Cảm ơn bạn đã chia sẻ hướng dẫn về chủ đề này.
Vui lòng giải thích cách bạn 'xâm phạm bảo mật máy chủ' bằng cách cho phép tập lệnh của riêng bạn ghi vào một tệp. Việc viết thư cho DB có phải là một nguy cơ bảo mật không? Chỉ cần đảm bảo mã của bạn không có lỗi bảo mật. Miễn là mọi thứ được thực hiện đúng, thì không có vấn đề gì. – Flukey
@Flukey ... trong đó có mục đích của câu hỏi của tôi. Tôi không thấy rõ vấn đề. Nhưng bất cứ lúc nào tôi đề cập đến tôi có một tập tin 0666 trên máy chủ hoặc một tập tin thuộc sở hữu của người dùng mà PHP chạy dưới, tôi nhận được lời bình luận đi dọc theo dòng ... "và tất nhiên bạn biết bạn đang mở máy chủ của mình để bảo mật rủi ro ". Tôi chỉ muốn viết kịch bản hiệu quả mà không ảnh hưởng đến bảo mật máy chủ. –
Miễn là tệp được ghi vào bên ngoài thư mục Apache công cộng, thì tôi không thấy vấn đề gì. Ý kiến của họ là không biết gì. – Flukey