intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Mẹo nhỏ bảo mật PHP trong môi trường Web­Hosting

Chia sẻ: Vietnam 9h | Ngày: | Loại File: DOC | Số trang:2

90
lượt xem
14
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bạn là một admin trông coi các webhosting. Bạn muốn các vhost chỉ được phép truy cập đến các file của vhost đó và cấm tất cả các vhost thực thi các lệnh gọi hệ thống qua PHP. File php.ini có sẵn 3 tùy chọn cấu hình để bạn hoàn thành việc này...

Chủ đề:
Lưu

Nội dung Text: Mẹo nhỏ bảo mật PHP trong môi trường Web­Hosting

  1. Mẹo nhỏ bảo mật PHP trong môi trường Web­Hosting  trang này đã được đọc  lần   Bạn là một admin trông coi các web­hosting. Bạn muốn các vhost chỉ được phép truy cập đến các file của  vhost đó và cấm tất cả các vhost thực thi các lệnh gọi hệ thống qua PHP. File php.ini có sẵn 3 tùy chọn cấu  hình để bạn hoàn thành việc này: safe_mode=on // bật chế độ an toàn open_basedir= // cô lập truy cập file trong thư mục  safe_mode_exec_dir= // cô lập lệnh gọi hệ thống trong thư mục  Đây là ví dụ mẫu dành cho bạn tham khảo: # mkdir /usr/local/none # vi /usr/local/apache/conf/php.ini safe_mod=on safe_mode_exec_dir=/usr/local/none # vi /usr/local/apache/conf/httpd.conf NameVirtualHost 10.0.0.1:80 ServerName *.domain1.com DocumentRoot /home/vhost/domain1.com/htdocs CustomLog /home/vhost/domain1.com/logs/access_log combined ErrorLog /home/vhost/domain1.com/logs/error_log php_admin_flag engine on php_admin_value open_basedir "/home/vhost/domain1.com/htdocs:/tmp" ServerName *.domain2.com DocumentRoot /home/vhost/domain2.com/htdocs CustomLog /home/vhost/domain2.com/logs/access_log combined ErrorLog /home/vhost/domain2.com/logs/error_log php_admin_flag engine on php_admin_value open_basedir "/home/vhost/domain2.com/htdocs:/tmp" # /usr/local/apache/bin/apachectl restart
  2. Đầu tiên bạn tạo thư mục trống /usr/local/none bằng lệnh mkdir. Các vhost có thể gọi hàm gọi hàm system(),  exec() hoặc passthru(), ... nhưng do bạn đã đặt safe_mode_exec_dir=/usr/local/none trong file php.ini nên  họ không thể chạy ls, cat, ... ngoài thư mục /usr/local/none (root.root ­ dwrx­rx­rx). domain1.com chỉ có thể  mở các file trong thư mục /home/vhost/domain1.com/htdocs và /tmp. domain1.com không được phép truy  cập đến các file trong thư mục /home/vhost/domain2.com/htdocs của domain2.com do bạn đã set  open_basedir cho domain1.com là "/home/vhost/domain1.com/htdocs:/tmp". domain2.com cũng tương tự  như vậy.  
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2