Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

    Các cách sử dụng file .htaccess bạn nên biết

      Admin
      Admin

      Giới tính : Nam

      Đến từ : TPHCM

      Ngày Tham gia : 03/04/2011

      Tổng số bài gửi : 2292

      #1

       Thu Aug 18, 2011 10:54 am

      ile .htaccess(hypertext access) của apache là một công cụ cực kỳ hữu dụng. File .htaccess thường được tìm thấy trong thư mục root của website, bạn có thể dễ dàng sửa chữa nó bằng bất kỳ text editor nào. Bạn nên sao lưu lại file .htaccess của mình trước khi thử nghiệm các cách hack dưới đây.

      Open your httpd.conf and check the AllowOverride directive. It should be like;

      AllowOverride AuthConfig

      See details for Authentication on Apache.

      1. Ngăn chặn hotlink
      Nhiều người copy ảnh từ server của bạn và đưa lên trang web của họ. Thêm vào .htaccess đoạn mã dưới đây sẽ giúp bạn ngăn chặn ảnh hiển thị trên website khác

      Options +FollowSymlinks

      #Ngăn chặn hotlink

      RewriteEngine On

      RewriteCond %{HTTP_REFERER} !^$

      RewriteCond %{HTTP_REFERER} !^http://([You must be registered and logged in to see this link.] [nc]

      RewriteRule .*.(gif|jpg|png)$ [You must be registered and logged in to see this link.]

      2. 301 Redirect
      Nếu bạn chuyển domain, hoặc chỉ muốn chuyển một trang cũ về một trang mới và không muốn lo lắng về các kết quả search từ google, sử dụng đoạn mã sau

      Redirect 301 /d/file.html [You must be registered and logged in to see this link.]

      3. Chuyển hướng từ tên miền cũ sang tên mới
      Sử dụng đoạn mã dưới đây bạn có thể chuyển tất cả các link từ tên miền cũ sang tên miền mới:

      #Chuyển hướng từ tên miền cũ sang tên mới

      RewriteEngine On

      RewriteRule ^(.*)$ [You must be registered and logged in to see this link.] [R=301,L]

      4. Tạo trang báo lỗi riêng
      Bạn không muốn dùng các trang báo lỗi có sẵn của host, bạn có thể tạo các trang báo lỗi riêng và cấu hình vào file htaccess như sau:

      ErrorDocument 401 /error/401.php

      ErrorDocument 403 /error/403.php

      ErrorDocument 404 /error/404.php

      ErrorDocument 500 /error/500.php

      5. Cấm IP truy cập
      Nếu có 1 IP thường xuyên spam website của bạn, bạn có thể cấm IP đó như dòng 2, hoặc cấm 1 dải IP như dòng 3:

      allow from all

      deny from 113.190.183.138

      deny from 113.190

      6. Đặt email mặc định cho server admin
      Sử dụng đoạn mã sau

      ServerSignature EMail

      SetEnv SERVER_ADMIN [You must be registered and logged in to see this link.]

      7. Bảo vệ file
      Đoạn mã dưới đây sẽ từ chối khi người dùng truy cập vào bất kỳ file nào và gửi về lỗi 403.

      #Bảo vệ .htaccess File


      order allow,deny

      deny from all

      5

      8. Đặt mã cho thư mục và file
      Bạn có thể đặt mã & quyền truy cập vào thư mục/file như sau:

      # Đặt mã cho thư mục

      resides

      AuthType basic

      AuthName "Thư mục này đã được bảo vệ"

      AuthUserFile /home/path/.htpasswd

      AuthGroupFile /dev/null

      Require valid-user

      # Đặt mã cho file


      AuthType Basic

      AuthName "Prompt"

      AuthUserFile /home/path/.htpasswd

      Require valid-user

      9. Đặt trang mặc định
      Bạn có thể đặt trang web mặc định cho thư mục nào đó. Ví dụ đặt file about.html thay cho file index.html:

      #Đặt trang mặc định (index)

      DirectoryIndex about.html

      10. Nén file bằng cách bật Gzip
      Bằng cách bật Gzip bạn có thể nén file từ server giúp cho việc tải trang nhanh hơn

      AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript

      BrowserMatch ^Mozilla/4 gzip-only-text/html

      BrowserMatch ^Mozilla/4.0[678] no-gzip

      BrowserMatch bMSIE !no-gzip !gzip-only-text/html

      11. Bỏ "category" ở URL
      Để chuyển url từ: [You must be registered and logged in to see this link.] về -> [You must be registered and logged in to see this link.] bạn chỉ cần thêm vào file .htaccess đoạn mã sau

      RewriteRule ^category/(.+)$ [You must be registered and logged in to see this link.] [R=301,L]

      12. Bỏ phần đuôi file ở URL
      Bạn mới lập trình php và không muốn hiện .php ở url, hãy thêm đoạn code sau:

      RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]

      13. Thêm / vào cuối URL
      Một vài bộ máy tìm kiếm (như Yahoo)tự động bỏ dấu / ở cuối url. Website của bạn cũng có thể được truy cập có hoặc không có dấu / ở sau cùng url. Điều này không tốt với các bộ máy tìm kiếm (sẽ bị coi là duplicated content). Thêm đoạn mã dưới đây vào .htaccess để giải quyết vấn đề đó

      #Thêm / vào cuối URL

      RewriteBase /

      RewriteCond %{REQUEST_FILENAME} !-f

      RewriteCond %{REQUEST_URI} !#

      RewriteCond %{REQUEST_URI} !(.*)/$

      RewriteRule ^(.*)$ [You must be registered and logged in to see this link.] [L,R=301]

      14. Bỏ www ở URL
      Nếu bạn muốn chuyển mọi truy cập từ [You must be registered and logged in to see this link.] thành [You must be registered and logged in to see this link.] thêm đoạn mã sau vào file .htaccess:

      RewriteEngine On

      RewriteBase /

      RewriteCond %{HTTP_HOST} !^example.com$ [NC]

      RewriteRule ^(.*)$ [You must be registered and logged in to see this link.] [L,R=301]

      15. Thêm www vào URL
      Tất nhiên nếu bạn muốn ngược lại "14" bạn có thể dùng đoạn mã sau

      RewriteEngine On

      RewriteBase /

      RewriteCond %{HTTP_HOST} !^[You must be registered and logged in to see this link.] [NC]

      RewriteRule ^(.*)$ [You must be registered and logged in to see this link.] [L,R=301]

      16. Không cho "browse" thư mục
      Để ngăn chặn truy cập vào tên file trong thư mục nào đó (ví dụ thư mục plugins của wordpress), thêm đoạn mã sau vào file .htacess:

      Options All -Indexes



      ở file .htaccess bạn thêm vào:
      order allow,deny
      deny from [ip cần cấm]
      deny from [1 ip khác]
      deny from [1 vài ip khác]
      allow from all

      cấu trúc IP VD: 210.245.24.22

      order deny,allow
      deny from all
      allow from 58.186.101.237
      allow from 58.186.101.236


      [You must be registered and logged in to see this link.]

      Ha..ha...hôm nay ta đã hiểu .htaccess và htpasswd làm gì rồi.....nó được sử dụng trên webserver Apache, rất hữu ích khi sử dụng trong trang web như giấu link, giấu file, tự động link sang trang mới,....làm cho website mạnh mẽ và an toàn hơn.

      1.Thiết lập chế độ để sử dụng được 2 file này.
      Tìm file cấu hình của Apache thường là httpd.conf(hoặc là access.conf) tìm và thay thế đoạn mã AllowOverride None thành AllowOverride AuthConfig rồi save nó. Khởi động lại Apache là có thể sử dụng 2 file này.

      2.Tạo 2 file này.
      Sử dụng notepad để soạn thảo hoặc có thể sử dụng bất cứ trình soạn thảo nào lưu lại nó với tên .htaccess và .htpasswd

      3.Sử dụng 2 file trên.
      +, Tạo Trang báo lỗi:
      Trong quá trình làm việc với client, nếu có lỗi xảy ra thì Apache sẽ báo lỗi bằng một trang có sẵn hiển thị mã lỗi đó. Khi sử dụng .htaccess có thể tự tạo trang báo lỗi riêng cho mình.
      Để làm được điều đó thì trong tập tin .htaccess thêm các dòng như sau:
      ErrorDocument mã số lỗi/trangloi.html
      trong đó số mã lỗi là số mã lỗi phát sinh khi truy cập trang web, đây là những lỗi thường gặp:
      . 401 - Authorization Required(yêu cầu password để truy cập)
      . 400 - Bad required(yêu cầu lỗi)
      . 403 - Forbidden(không được vào)
      . 500 - Internal Server Error(lỗi do Server)
      . 404 - Wrong page(lỗi trang, có thể không tìm thấy trang)
      còn trangloi.html là trang web muốn hiển thị lỗi phát sinh, có thể đưa vào trang này bất cứ nội dung gì, chẳng hạn liên kết trở về trang chính của trang web.
      ví dụ: gõ vào trong tập tin .htaccess như lỗi 404 như sau: ErrorDocument 404/trangloi.html

      +, Chống ăn cắp băng thông(badwidth)
      Thông thường những dịch vụ lưu trữ web cung cấp cho một lượng dữ liệu luân chuyển(data transfer) nhất định hàng tháng khi sử dụng hết lượng dữ liệu này, website sẽ tự động bị đóng cửa. Và sẽ phải trả thêm tiền cho lượng băng thông vượt quá hoặc phải buộc lòng chờ đến tháng sau.

      Nếu hình ảnh, dữ liệu, ... bị các website khác "chôm chỉa"(thường là sử dụng thủ thuật đơn giản) làm cho lượng dữ liệu luân chuyển tăng lên, thì sẽ phải trả thêm tiền cho cái mà mình không sử dụng. Sử dụng tập tin .htaccess là một giải pháp rất tốt! Để ngăn chặn việc sử dụng trái phép hình ảnh trên website. Chỉ cần đưa vào tập tin .htaccess nội dung sau:

      RewriteEngine on
      RewriteCond %{HTTP_REFERER} !^$
      RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC]
      RewriteRule \.(gif|jpg)$ - [F]

      chỉ cần thay đổi trangweb.com thành địa chỉ website của mình là ok.

      Có thể sử dụng hình ảnh nào đó cảnh báo những kẻ "chôm chỉa" băng thông sử dụng dòng lệnh sau:
      RewriteEngine on
      RewriteCond %{HTTP_REFERER} !^$
      RewriteCond %{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC]
      RewriteRule \.(gif|jpg)$ [You must be registered and logged in to see this link.] [R,L]

      +, Không cho hiện danh sách tập tin trong thư mục.
      Trong trường hợp một thư mục nào đó không có tập tin index hay default, thì Apache sẽ hiển thị một danh sách liệt kê các tập tin trong thư mục đó. Tuy nhiên nếu đây là những tài liệu nhạy cảm, không muốn người khác thấy, thì thêm vào file .htaccess dòng lệnh sau:
      Options –Indexes

      +, Thay thế trang index
      Thông thường khi truy nhập vào một trang web, Apache sẽ tìm đến tập tin index.html hoặc default.html để tra kết quả về cho trình duyệt, có thể sử dụng .htaccess để thay đổi mặc định này:
      DirectoryIndex index.php index .php3 messagebrd.pl index.html index.htm

      với dòng lệnh này thì các tập tin được liệt kê sẽ được tìm theo thứ tự khi có yêu cầu tới thư mục hiện hành, trang nào được tìm thấy đầu tiên sẽ là trang index của thư mục.

      +, Cấm hạn chế IP truy nhập
      Một số người muốn làm "lụt"(flood) trang web, việc cần làm là ngăn cấm những IP của những người này truy cập vào trang web, thêm đoạn mã sau vào .htaccess:
      dùng để ngăn cấm địa chỉ IP là 203.262.110.20 truy cập vào trang web.
      deny from 203.262.110.20

      Cho phép địa chỉ IP truy nhập trang web:
      allow from 203.262.110.20

      Nếu sử dụng IP dưới dạng: 203.262.110 thì sẽ cấm tất cả các IP có địa chỉ từ 203.262.110.1 đến 203.262.110.254.

      Cấm tất cả mọi truy cập đến trang web trong thư mục sử dụng:
      deny from all

      tuy nhiên các tập tin trong đó vẫn có thể sử dụng từ bên ngoài thông qua các lệnh dạng require hay include(trong lập trình PHP).

      +, Bảo vệ thư mục.
      sử dụng 2 file .htaccess và .htpasswd trong cho việc bảo vệ thư mục và chống flood.
      tạo file .htaccess có nội dung như sau:
      AuthUserFile “đường dẫn đến tập tin .htpasswd”
      AuthName “dòng văn bản hiển thị”
      AuthType Basic
      require valid-user

      trong đó valid-user sẽ chỉ định các thành viên với mật khẩu trong tập tin .htpasswd, nếu bạn muốn định rõ một thành viên nào đó thì thay đổi dòng này như sau:
      require user tên_user

      sau đó tạo một file .htpasswd với nội dung như sau:
      User: password

      gõ tên user đăng nhập rồi đến dấu ":" rồi gõ mật khẩu đăng nhập.
      ví dụ sử dụng file .htaccess như sau:
      AuthUserFile "/home/username/public_html/forum/.htpasswd"
      AuthName "Anti Stupid Flooders! User=anti Pass=1 khoang trang"
      AuthType Basic
      require valid-user

      Ở đây /home/username/public_html/forum/.htpasswd ->chính là đường dẫn đến tập tin .htpasswd
      User=anti Pass=$# là dòng chữ hiện lên trên bảng đăng nhập, muốn viết gì cũng được.

      +, Tự động chuyển đến địa chỉ mới
      Muốn chuyển trang web đến địa chỉ mới, redirect truy cập từ xa bằng một lệnh đơn giản sau:
      Redirect/olddirectory [You must be registered and logged in to see this link.]

      +, Tùy biến đuôi tập tin.
      Thông thường tùy thuộc vào ngôn ngữ lập trình web mà sử dụng tập tin có phần mở rộng khác nhau như: html, htm, asp, aspx, php, cgi, ...Tuy nhiên nếu sử dụng .htaccess thì có thể tác động vào máy chủ Apache, Apache sẽ gọi đến tập tin và trả về cho trình duyệt web với phần mở rộng do mình quy định trong .htaccess. Sử dụng đoạn lệnh sau trong tập tin .htaccess:
      RewriteEngine on
      RewriteRule (.*)\.dll$ $1.html

      html là phần mở rộng thực sự của những tập tin trên website, dll là phần mở rộng do mình lựa chọn. Chú ý liên kết trên trang web, phải gọi đúng đường dẫn đến tập tin với phần mở rộng mới(ở trên là dll), ví dụ như: [You must be registered and logged in to see this link.]
      +, để sử dụng
      --->Chú ý khi sử dụng .htaccess
      . - Chỉ sử dụng .htaccess trên Apache đã bật chế độ .htaccess, nếu chưa có thì liên hệ với nhà cung cấp hosting để họ có thể đáp ứng.
      . - .htaccess chỉ có tác dụng với những tập tin ngang hàng(trong cùng thư mục với nó) hoặc thư mục con. Với thư mục thì nó chỉ có tác dụng với thư mục chứa nó và thư mục con. Không có tác dụng với các thư mục cha, mẹ.
      . - Có thể sử dụng một số chương trình FTP (Leaf FTP, WS FTP, Cute FTP) để tải tập tin .htaccess lên hosting của mình với chế độ ASCII, nếu nó không hoạt động có thể CHMODE với giá trị 644.