2011-10-15 32 views
5

Các ngôn ngữ như Perl, Pythong, v.v. thường được coi là có độ bảo mật cao hơn so với PHP. Ngoài các lỗ hổng bảo mật có thể xảy ra, một lý do có thể là (tôi không biết, tôi đang yêu cầu) rằng chúng tôi không đặt các tệp thi hành của Perl và Python trong thư mục chung. Vì các tệp PHP không thực thi được, nên an toàn để giữ chúng trong thư mục công cộng.Bảo mật tốt hơn của PHP bằng cách giữ các tệp bao gồm bên ngoài thư mục công cộng?

Đây có phải là cách tiếp cận khôn ngoan và thiết thực để giữ các tệp php bên ngoài thư mục công cộng để hạn chế quyền truy cập có thể có của kẻ tấn công không? Nếu có, nó có phổ biến không? bởi vì tôi không thấy bất kỳ bất lợi nào (ngoại trừ việc xử lý tập tin khó hơn một chút ở những nơi khác nhau); nhưng nếu nó có lợi cho việc cải thiện an ninh, nó là đáng xem xét. Vì tôi không biết về những cách tin tặc đính kèm một trang web dựa trên php, tôi không có ý tưởng làm thế nào nó có thể cải thiện an ninh.

+0

câu hỏi liên quan: [Giúp đỡ bảo vệ các tập tiếp cận với htaccess và php?] (http://stackoverflow.com/questions/2573496/help-securing-files-access-with-htaccess-and-php), [Bảo mật tệp PHP trên máy chủ web] (http://stackoverflow.com/questions/6524565/ php-file-security-on-webserver), [Bảo vệ các tệp PHP] (http://stackoverflow.com/questions/1401727/securing-php-files) và [nhiều liên quan] (http://stackoverflow.com/ tìm kiếm? q = [php] + tệp + webroot + bảo mật). – hakre

+0

Cảm ơn hakre, tôi cũng tìm kiếm chủ đề; có những câu hỏi liên quan, nhưng không tập trung vào ý tưởng. – Googlebot

Trả lời

9

Có cách tiếp cận khôn ngoan và thiết thực để giữ các tệp php bên ngoài thư mục công khai để hạn chế quyền truy cập có thể có của kẻ tấn công không?

Có.

Nếu có, thông thường có phải không?

Có.

nhưng nếu nó có lợi cho cải thiện an ninh,

ứng dụng PHP của bạn thường sẽ bao gồm nhiều tập tin cá nhân. Thông thường, chúng sẽ được đưa vào từ các tệp khác. Ví dụ, bạn có thể có:

index.php 
lib/db.php 
lib/auth.php 

Trong ví dụ này, vì tất cả các tập tin nằm trong thư mục gốc tài liệu, người dùng bên ngoài có thể nhấn url http://domain.com/lib/auth.php và chạy bao gồm tập tin trực tiếp, độc lập với hệ thống xác thực đó là nghĩa vụ để tìm nguồn cung ứng. Nó sẽ làm bất cứ điều gì xấu khi chạy của chính nó? Chắc là không. Nhưng để an toàn, bạn nên di chuyển các tệp bao gồm bên ngoài gốc tài liệu, do đó làm cho máy chủ web không thể phục vụ chúng trực tiếp.

(Lưu ý rằng lỗ hổng này không dành riêng cho PHP, và do đó giữ libs của bạn bên ngoài thư mục gốc tài liệu là một thói quen tốt, bất kể nền tảng.)

Các vấn đề liên quan