1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài Liệu HTACCES

48 207 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 48
Dung lượng 451,92 KB

Nội dung

Tài Liệu HTACCES

Mục Lục 1. .htaccess là gì? 3 1.1. .htaccess là gì 3 1.2. Ý nghĩa ký hiệu định nghĩa trong .htaccess 3 1.3. Mã redirect 6 1.4. Cách sử dụng .htaccess 6 2. Những cấu hình cần thiết 7 2.1. Enable basic rewriting 7 2.2. Enable Symbolic links 8 2.3. Enable AllowOverride 8 2.4. Đặt tên lại file .htaccess 8 2.5. Giữ lại các luật đã được định nghĩa trong httpd.conf 9 3. Hiệu năng 9 3.1. Tăng hiệu năng thông qua AllowOverride 9 3.2. Tăng hiệu năng bằng cách truyền tập các ký tự 10 3.4. Disable chữ ký server 10 3.5. Cài đặt server timezone 10 3.6. Đặt địa chỉ email cho quản trị server 10 3.7. Tăng tốc độ duyệt site bằng việc enable file caching 11 3.8. Cài đặt ngôn ngữ và kiểu mã hóa mặc định 13 3.9. Mô tả MIME 14 3.11. Giới hạn các request GET và PUT 19 3.12. Lựa chọn file xử lý theo phương thức request tới server 19 3.13. Thực thi một định dạng file bằng 1 cgi script 19 4. Các cấu hình bảo mật 19 4.1. Ngăn cản truy cập file .htaccess 20 4.2. Ngăn cản truy cập tới một file đặc biệt 20 4.3. Chặn truy cập tới nhiều file 20 4.4. Chống browse thư mục trái phép 21 4.5. Thay đổi trang index mặc định 21 4.6. Ngụy trang cho định dạng script 22 4.7. Giới hạn truy cập tới mạng LAN 22 4.8. Bảo vệ thư mục bằng địa chỉ IP và/hoặc domain 23 4.9. Ngăn cản hoặc cho phép truy cập domain theo dải địa chỉ IP 24 4.10. Chặn hoặc cho phép nhiều địa chỉ trong cùng 1 dòng 26 4.11. Các luật khác sử dụng để block hay allow địa chỉ IP 27 4.12. Ngừng các hotlinking, luân chuyển nội dung server 28 4.13. Chặn Evil Robots, Site Rippers, và Offline Browsers 29 4.14. Pass bảo vệ 34 4.15. Tự động đặt CHMOD cho các loại file 36 4.16. Ngụy trang tất cả các định dạng mở rộng 37 4.17. Chống tấn công từ chối dịch vụ bằng cách giới hạn kích thước file upload 38 4.18. Bảo vệ thư mục bằng cách disable việc thực thi các script 38 4.19. Yêu cầu SSL 38 5. Một số cấu hình hữu ích khác 38 5.1. Kiểm tra URL 39 5.2. Sắp xếp lại trang thông báo lỗi 39 5.3. Chỉ dẫn cho browser download về máy thay vì chạy trực tiếp 39 5.4. Chỉ thị server hiển thị mã nguồn với một số file thực thi 40 5.5. Redirect người dùng tới một site tạm thời khi phát triển hoặc sửa lỗi 40 5.6. Chặn truy cập tới file hay thư mục theo thời gian 41 6. Thủ thuật redirect 41 6.1. Redirect từ http://www.domain.com sang http://domain.com 41 6.2. Redirect từ một domain cũ sang domain mới 42 6.3. Redirect “String Variations” sang một địa chỉ 42 6.4. Một số redirect khác 42 6.5. Chuyển khách hàng tới một domain con 44 6.6. Một số redirect khác 44 7. Một số cấu hình khác 47 7.1. Kích hoạt SSI 47 7.2. Chặn truy cập tới các file include trong file .php 47 1. .htaccess là gì? 1.1. .htaccess là gì .htaccess là một file cấu hình sử dụng cho các web server chạy Apache. .htaccess dùng để thiết lập các tùy chọn: thực thi hay loại bỏ các chức năng, tính năng của Apache 1.2. Ý nghĩa ký hiệu định nghĩa trong .htaccess # : cho phép server bỏ qua dòng này [F] : Forbidden, hướng dẫn server trả về lỗi 403 cho client [L] : Last rule, hướng dẫn server ngừng ghi lại sau khi một chỉ thị đã được xử lý [N] : Next, chỉ dẫn cho Apache trả về luật rewrite cho tới khi tất cả các chỉ thị rewrite được hoàn tất. [G]: Gone, chỉ dẫn server chuyển thông điệp Gone [P]: Proxy, chỉ dẫn server sử dụng các request cung cấp bởi mod_proxy [C]: Chain, chỉ dẫn server gắn luật trước với luật sau nó [R]: Redirect, hướng dẫn Apache đưa ra một chuyển hướng [NC]: No case, xác định bất cứ trường hợp nào liên quan tới nó là vô lý (Không thể xảy ra) [PT]: Pas Through: chỉ dẫn mod_rewrite để vượt qua cơ chế ghi lại URL cho các xử lý xa hơn [OR]: Or, là cú pháp logic bình thường (biểu thức kết hợp đúng khi một trong hai biểu thức con của nó đúng) [NE]: No Escape: hướng dẫn server lọc đầu ra [NS]: No Subresquest: hướng dẫn server giữ chỉ thị nếu là một request con từ bên trong [QSA]: gắn thêm chuỗi truy vấn vào cuối URL [S=x]: Skip: chỉ dẫn server dừng lại x luật [E=variable:value]: Environment Variale: chỉ dẫn server thiết lập giá trị tài nguyên [T=MIME-type]: Mime Type: mô tả loại mime của tài nguyên đích []: xác định một tập các ký tự trong đó bất cứ ký tự nào có trong ngoặc xuất hiện sẽ được match []+: tập các ký tự trong đó bất cứ kết hợp nào với nó cũng được match [a-z] : match với tất cả các ký tự từ a-z, theo bảng chữ cái. Có thể có thêm: [a-zA- Z] a{n}: xác định số ký tự sẽ mở rộng cùng với ký tự đầu, tức là khi match được ký tự đầu sẽ lấy thêm bao nhiêu ký tự tiếp theo. Ví dụ: x{3} sẽ lấy: x’s, xad, … a{n,} : như a{n} nhưng có thể lấy 3 hoặc nhiều hơn a{n,m}: như a{n} nhưng sẽ lấy trong khoảng từ n tới m (): nhóm các ký tự lại với nhau, xem chúng như 1 đơn vị đơn lẻ ^: ghi chú bắt đầu chuỗi regex $: ghi chú kết thúc chuỗi regex ? : cho phép chọn lựa ký tự.Ví dụ: monzas? sẽ match với monza hoặcmonzas ! : mô tả một phủ định, sẽ match với tất cả thứ gì khác với các ký tự sau ! . : thể hiện cho bất cứ ký tự đơn nào +: match với một hoặc nhiều ký tự *: match với 0 hoặc nhiều ký tự |: phép hoặc logic \: thêm vào trước các ký tự đặc biệt để có thể sử dụng chúng như các ký tự bình thường .* : không có ký tự nào hoặc nhiều ký tự bất kỳ ^$: định nghĩa một chuỗi rỗng ^.*$: sử dụng để match mọi thứ [^/.]: định nghĩa 1 ký tự là “/” hoặc “.” [^/.]+: định nghĩa bất cứ số lượng ký tự nào chứa “/” hoặc “.” http://: là một chuỗi bình thường ^domain.*: định nghĩa một chuỗi bắt đầu với “domain” ^domain\.com$: xác định sự mở rộng của chuỗi “domain.com” -d: kiểm tra nếu chuỗi là một directory -f: kiểm tra nếu một chuỗi là một file -s: kiểm tra nếu file trong chuỗi kiểm tra có 1 giá trị khác 0 1.3. Mã redirect 301 – Move permanently 302 – Move temporarily 403 – Forbidden 404 – Not found 410 – Gone 1.4. Cách sử dụng .htaccess Tạo file .htaccess (chú ý đây là tên đầy đủ, không phải là phần mở rộng), tiến hành các thiết lập cấu hình trong file và đặt ở trong thư mục mong muốn thực hiện các cấu hình đó. Ví dụ: AuthName "Member's Area Name" AuthUserFile /path/to/password/file/.htpasswd AuthType Basic require valid-user ErrorDocument 401 /error_pages/401.html AddHandler server-parsed .html Ví dụ trên cấu hình sử dụng password bảo vệ thư mục và chuyển hướng tới trang 401.html khi gặp lỗi 401. Chú ý: - Upload file .htaccess ở chế độ ASCII thay vì chế độ BINARY hay các chế độ khác do cơ chế chuyển dữ liệu ở các chế độ là khác nhau. - Việc cấp quyền truy cập, sử dụng và thực thi file .htaccess có thể gây ra lỗi, cài đặt quyền 755 hoặc quyền thực thi với file - Comment lại các thông tin cấu hình quan trọng để dễ dàng cho người tiếp quản sau này hoặc cho chính bản than khi phải cấu hình lại hoặc khắc phục sự cố nào đó 2. Những cấu hình cần thiết 2.1. Enable basic rewriting Server có thể không bật chế độ “mod_rewite” mặc định, để đảm bảo chế độ này được bật, thêm vào file .htaccess tại thư mục root: # enable basic rewriting RewriteEngine on 2.2. Enable Symbolic links Xem về Symbolic links tại: http://en.wikipedia.org/wiki/Symbolic_link. Để chế độ này hoặc động, tính năng: AllowOverride Options cần được enable. # enable symbolic links Options +FollowSymLinks 2.3. Enable AllowOverride Đối với các chỉ thị cần tính năng AllowOverride để thực thi như: FollowSymlinks, … Khi cần enable tính năng này tại một thư mục nào đó, ta thêm vào .htaccess (Có thể cấu hình tại file server để áp dụng toàn bộ): # enable allowoverride privileges <Directory /www/replace/this/with/actual/directory> AllowOverride Options </Directory> 2.4. Đặt tên lại file .htaccess Không phải mọi hệ thống đều thích định dạng .htaccess, có thể thay đổi tên này (thực hiện trên file cấu hình của server): # rename htaccess files AccessFileName ht.access Khi thay đổi tên file .htaccess, cần cập nhật tất cả các cấu hình liên quan. Ví dụ: nếu bạn bảo vệ .htaccess với FilesMatch, định dạng lại file này (với .htaccess đã đổi thành: ht.access): # protect renamed htaccess files <FilesMatch "^ht\."> Order deny,allow Deny from all </FilesMatch> 2.5. Giữ lại các luật đã được định nghĩa trong httpd.conf Tiết kiệm thời gian và nỗ lực định nghĩa lại các luật lặp lại cho nhiều host ảo với chỉ 1 file httpd.conf, để đơn giản hơn ta cấu hình .htaccess kế thừa tập luật từ httpd.conf RewriteOptions Inherit 3. Hiệu năng 3.1. Tăng hiệu năng thông qua AllowOverride Việc cấu hình AllowOverride ở thư mục gốc, server sẽ phải tìm kiếm ở tất cả các thư mục để xem nơi nào .htaccess tồn tại, điều này làm chậm tốc độ xử lý. Để hạn chế điều này, disable chế độ AllowOverride tại thư mục gốc và bật lên ở những nơi cần dùng, để disable: # increase performance by disabling allowoverride AllowOverride None 3.2. Tăng hiệu năng bằng cách truyền tập các ký tự # pass the default character set AddDefaultCharset utf-8 3.3. Tăng hiệu năng bởi việc bảo vệ bandwidth # preserve bandwidth for PHP enabled servers <ifmodule mod_php4.c> php_value zlib.output_compression 16386 </ifmodule> 3.4. Disable chữ ký server # disable the server signature ServerSignature Off 3.5. Cài đặt server timezone # set the server timezone SetEnv TZ America/Washington 3.6. Đặt địa chỉ email cho quản trị server [...]... Ngăn cản truy cập file htaccess Khi người dùng cố tình truy nhập file htaccess sẽ trả về lỗi 403, có nhiều cách để cấu hình, có thể cấu hình file với CHMOD là 644 hoặc thêm đoạn mã sau: # secure htaccess file order allow,deny deny from all 4.2 Ngăn cản truy cập tới một file đặc biệt Để chặn truy nhập vào một file đặc biệt nào đó, thêm đoạn mã sau vào file htaccess, giả sử là... /home/path/.htpasswd Require valid-user # password-protect the directory in which this htaccess rule resides AuthType basic AuthName "This directory is protected" AuthUserFile /home/path/.htpasswd AuthGroupFile /dev/null Require valid-user # password-protect directory for every IP except the one specified # place in htaccess file of a directory to protect that entire directory AuthType Basic AuthName... RewriteCond %{HTTP_REFERER} xyz\.com [NC,OR] RewriteRule * - [F] 4.9 Ngăn cản hoặc cho phép truy cập domain theo dải địa chỉ IP Có nhiều phương pháp để block một dải địa chỉ IP bằng cách cấu hình htaccess Cách thức đầu tiên có thể sử dụng sô CIDR (Classess Inter-Domain Routing) của dải IP, cách này hiệu quả để block các mega-spammer như RIPE, Optinet, … # block IP range by CIDR number . Lục 1. .htaccess là gì? 3 1.1. .htaccess là gì 3 1.2. Ý nghĩa ký hiệu định nghĩa trong .htaccess 3 1.3. Mã redirect 6 1.4. Cách sử dụng .htaccess. file .php 47 1. .htaccess là gì? 1.1. .htaccess là gì .htaccess là một file cấu hình sử dụng cho các web server chạy Apache. .htaccess dùng để thiết

Ngày đăng: 22/03/2014, 15:07

w