Bảo mật Firefox: rel = noopener cho mục tiêu = _blank

Mozilla đang thử nghiệm một tính năng bảo mật mới trong Firefox Nightly hiện tự động thêm rel = "noopener" vào các liên kết sử dụng target = "_ blank".

Target = "_ blank" hướng dẫn các trình duyệt mở mục tiêu liên kết trong một tab mới trong trình duyệt web tự động; không có thuộc tính đích, các liên kết sẽ mở trong cùng một tab trừ khi người dùng sử dụng chức năng trình duyệt tích hợp, ví dụ: bằng cách giữ phím Ctrl hoặc Shift, để mở liên kết theo một cách khác.

Rel = "noopener được hỗ trợ bởi tất cả các trình duyệt web chính. Thuộc tính đảm bảo rằng trình mở cửa sổ là null trong các trình duyệt hiện đại. Null có nghĩa là nó không chứa giá trị.

Nếu rel = "noopener" không được chỉ định, tài nguyên được liên kết có toàn quyền kiểm soát đối tượng cửa sổ ban đầu ngay cả khi tài nguyên ở nguồn gốc khác nhau. Liên kết đích có thể thao túng tài liệu gốc, ví dụ: thay thế nó bằng giao diện để lừa đảo, hiển thị quảng cáo trên đó hoặc thao tác trên bất kỳ cách nào khác có thể tưởng tượng được.

Bạn có thể kiểm tra một trang demo về lạm dụng rel = "noopener" tại đây. Nó vô hại nhưng làm nổi bật cách các trang đích có thể thay đổi trang gốc nếu thuộc tính không được sử dụng.

Rel = "noopener" bảo vệ tài liệu gốc. Quản trị viên web có thể - và nên - chỉ định rel = "noopener" bất cứ khi nào họ sử dụng target = "_ blank"; chúng tôi sử dụng thuộc tính trên tất cả các liên kết bên ngoài ở đây trên trang web này.

Apple đã thực hiện thay đổi trong Safari vào tháng 10, tự động áp dụng rel = noopener cho bất kỳ liên kết nào sử dụng target = _blank.

Phiên bản Nightly của Firefox cũng hỗ trợ tính năng bảo mật. Mozilla muốn thu thập dữ liệu để đảm bảo rằng sự thay đổi không phá vỡ bất cứ điều gì quan trọng trên Internet.

Tùy chọn dom.targetBlankNoOpener.enable kiểm soát chức năng. Nó chỉ có sẵn trong Firefox 65 và được đặt thành true theo mặc định (có nghĩa là rel = "_ noopener" được thêm vào).

Người dùng Firefox có thể thay đổi tùy chọn để tắt tính năng này. Mặc dù không được khuyến nghị vì liên quan đến bảo mật, bạn có thể muốn làm như vậy nếu bạn gặp phải các vấn đề tương thích.

  1. Tải về: config? Filter = dom.targetBlankNoOpener.enable trong thanh địa chỉ của trình duyệt.
  2. Xác nhận rằng bạn sẽ cẩn thận nếu lời nhắc cảnh báo được hiển thị.
  3. Nhấp đúp vào tùy chọn.

Giá trị của true có nghĩa là rel = "noopener" được thêm vào các liên kết với target = "_ blank", một giá trị sai mà nó không phải.

Mozilla nhắm mục tiêu Firefox 65 cho bản phát hành Ổn định. Mọi thứ có thể bị trì hoãn tùy thuộc vào các vấn đề có thể được báo cáo hoặc chú ý. Firefox 65 sẽ được phát hành vào ngày 29 tháng 1 năm 2019. (thông qua Sören Hentzschel)