htaccess [UserAgent]: Thực hiện một hành động nhất định tùy thuộc vào UserAgent của người dùng

Lâu rồi tôi đặt hai bài báo trên htaccessvà vì đã lâu rồi, tôi sẽ làm mới phần đế một chút:

Htaccess là gì?

Trong mỗi thư mục mà chúng tôi đã chia sẻ (được lưu trữ), chúng tôi có thể đặt một tệp Htaccess. (chú ý dấu chấm ở đầu tên, điều này cho thấy nó bị ẩn). Tệp này sẽ là cảnh sát của chúng tôi để gọi nó theo một cách nào đó, bởi vì trong đó chúng tôi có thể viết các quy tắc hoặc tiêu chuẩn sẽ giúp chúng tôi thao tác / quản lý quyền truy cập vào cùng thư mục chứa tệp đó, đến thư mục và tệp (và các thư mục con) mà cùng chứa này.

Chỉ cần đặt. Nếu tôi có thư mục “/kiểm tra/", Tận dụng một Htaccess. Tôi có thể định cấu hình những IP nào tôi muốn họ truy cập và những IP nào không, định cấu hình nếu tôi muốn rằng khi ai đó vào thư mục này, nó sẽ tự động chuyển hướng họ đến một trang web khác và rất lâu, v.v.

Tôi thực sự khuyên bạn nên đọc hai bài viết trước:

Hãy chuyển sang những gì tôi sẽ đề cập cụ thể trong bài đăng này.

Tiện ích số 1

Những gì chúng tôi muốn làm là:

  1. Nếu người dùng sử dụng Internet Explorer không mở trang web chuyển hướng bạn đến trang web của Firefox để cài đặt một trình duyệt thực.

Biết rằng Đại lý người dùng điều đó xác định Người khám phá Internet là: MSIE

Chúng tôi đã có mọi thứ chúng tôi cần 🙂

Logic hoạt động sẽ là:

  1. Xác định xem người dùng có sử dụng IE hay không.
  2. Nếu bạn sử dụng IE, nó sẽ không hiển thị cho bạn trang web, thay vì làm điều này, điều sẽ xảy ra là nó sẽ mở trang Mozilla.
  3. Nếu bạn không sử dụng IE, nó sẽ mở trang web của chúng tôi mà không gặp bất kỳ sự cố nào.

Để đạt được điều này, chúng ta phải đưa vào tệp .htaccess của mình (nếu nó không tồn tại, hãy tạo nó) các dòng sau:


Viết lại RewriteEngine
RewriteCond% {HTTP_USER_AGENT} ^. * MSIE. * $ [NC] RewriteRule. * Http://www.mozilla.org/en-US/firefox/new/

Và đây là nó, đơn giản vậy thôi.

Với những dòng này, những gì chúng tôi chỉ ra là:

  1. Nếu mô-đun mod_rewrite đang hoạt động:
  2. Khởi động công cụ viết lại và:
  3. Nếu điều kiện được đáp ứng là một nơi nào đó trong UserAgent chứa MSIE thì:
  4. Áp dụng quy tắc: chuyển hướng người dùng đến trang web - »http://www.mozilla.org/en-US/firefox/new/
  5. Bây giờ đã hết, hãy ngừng sử dụng mô-đun mod_rewrite

Rõ ràng là họ có thể thay đổi địa chỉ mà người dùng sẽ được chuyển hướng đến, đây chỉ là một ví dụ.

Bây giờ chúng ta đi với một tiện ích khác ... 😉

Tiện ích số 2

Ví dụ: chúng tôi muốn đặt một số nội dung trên internet vào một thư mục trên máy chủ web của mình, nhưng chúng tôi muốn chỉ một số người nhất định truy cập vào nó, chúng tôi có thể bảo vệ thư mục bằng mật khẩu bằng Apache, có, nhưng nếu chúng tôi không muốn phức tạp rất nhiều ... chúng tôi có thể:

  1. Đọc UserAgent của người dùng.
  2. Nếu UserAgent có từ "topecret" ở đâu đó:
  1. Cho phép anh ấy truy cập vào thư mục
  • Nếu UserAgent KHÔNG có từ "topecret" ở bất kỳ đâu:
  1. Hiển thị dấu hiệu bị Từ chối truy cập.

Để đạt được điều này, mã cực kỳ giống với mã trước đó… biến thể chính là dấu chấm than «!»Trong dòng xác minh UserAgent:


Viết lại RewriteEngine
RewriteCond% {HTTP_USER_AGENT}! ^. * Topsecret. * $ [NC] RewriteRule. * Http://www.google.com

Ở đây không có nhiều điều để giải thích vì tôi đã giải thích phần trước, như tôi đã nói, phần này có điểm khác biệt chính là dấu chấm than, có nghĩa là:

  • Nếu nó KHÔNG chứa topecret ở đâu đó trong UserAgent ...

Chà đây là lúc này 😀

Tôi hy vọng nó hữu ích, vẫn còn nhiều điều để nói về htaccess, Tôi vẫn còn nhiều điều phải học 🙂
Liên quan


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   k301 dijo

    Tôi không biết có nên bình luận về điều này hay không, chỉ nói thêm rằng trong blackhat năm 2012 một lỗ hổng htaccess đã được đề cập. Trong dragonjar, họ trình bày chi tiết mọi thứ rất tốt và giải thích cách sửa nó trong trường hợp ai đó quan tâm:

    Liên kết

    1.    một giống én dijo

      @KZKG đóng góp rất tốt, xuất sắc.
      @ k3D1 Tôi ngay lập tức nhớ ra lỗ hổng bảo mật nhưng tôi không chắc nó là gì (tiếng Đức sẽ đến thăm tôi !? Thu ghê!).
      Cảm ơn các liên kết!

      1.    KZKG ^ Gaara dijo

        Cảm ơn, vì tôi không đóng góp về mặt tin tức, tôi cố gắng đóng góp về mặt kỹ thuật hơn 🙂

    2.    KZKG ^ Gaara dijo

      Cảm ơn bạn, tôi không biết về điều này 😉

  2.   k301 dijo

    Tôi đã đăng một bình luận trước đây nhưng dường như nó đã không được đăng. Dù sao thì tôi cũng nhắc lại cho những ai quan tâm, đó là một ấn phẩm trong dragonjar để ngăn chặn lỗ hổng htaccess:
    http://www.dragonjar.org/htexploit-herramienta-para-saltar-proteccion-con-archivos-htaccess.xhtml

    1.    KZKG ^ Gaara dijo

      Xin lỗi, bộ lọc chống SPAM đôi khi làm những điều mà tôi thậm chí không hiểu, có một số nhận xét trong hàng đợi SPAM mà không có lý do rõ ràng, tôi đã chấp thuận chúng.
      Xin lỗi một lần nữa.

      1.    k301 dijo

        Không sao, tốt nhất là nhận xét có chứa liên kết phải được chấp thuận, sự nhầm lẫn của tôi đến từ cách người đầu tiên gửi cho bạn thẻ html, tôi nghĩ rằng đã có vấn đề gì đó.

        Và không có gì, vui lên với những bài viết kỹ thuật rất hay, trong blog này tôi đã tìm thấy rất nhiều tài liệu hay.

  3.   linh miêu dijo

    Đã thêm vào Mục yêu thích!

    1.    KZKG ^ Gaara dijo

      ^ - ^

  4.   Xavier dijo

    Xin chào,
    Làm thế nào tôi có thể làm giống như bạn giải thích cho firefox nhưng cho Internet explorer

    1.    KZKG ^ Gaara dijo

      Tôi không hiểu bạn muốn làm gì.