Computer >> Máy Tính >  >> Lập trình >> HTML

Cách sử dụng thuộc tính HTML rel =noopener (quan trọng đối với bảo mật)

rel="noopener" thuộc tính là một trong những thuộc tính HTML quan trọng nhất cần biết vì nó ảnh hưởng trực tiếp đến bảo mật liên kết bên ngoài trên các liên kết cố định sử dụng target="_blank" thuộc tính.

target="_blank" mở liên kết trong tab trình duyệt mới.

Đây là ví dụ về liên kết với rel="noopener" thuộc tính:

<a href="https://www.youtube.com" rel="noopener" target="_blank"
  >Link to youtube.com</a
>

Cách hoạt động của rel ="noopener"

Khi bạn thêm rel="noopener" đến một liên kết bên ngoài trên trang web của bạn (với target="_blank ), nó ngăn không cho trang web bạn liên kết truy cập vào trang của bạn thông qua đối tượng cửa sổ (thông qua window.opener tài sản).

Bản dịch: nếu trang bạn tham chiếu có chứa mã độc hại, nó có thể sử dụng cửa sau (window.opener ) vào trang web của bạn để chiếm quyền điều khiển trình duyệt của người dùng và ví dụ:chuyển hướng họ đến một trang web lừa đảo nguy hiểm lấy cắp thông tin của họ hoặc cài đặt phần mềm độc hại trên máy tính của họ.

Đây là lý do tại sao WordPress tự động thêm rel="noopener" thuộc tính trên tất cả các liên kết bên ngoài mở trong tab trình duyệt mới (sử dụng target="_blank" thuộc tính) - vì lý do bảo mật.

Tôi khuyên bạn nên làm như vậy, bất kể bạn sử dụng loại trang web nào vì có nhiều ưu điểm hơn là nhược điểm khi sử dụng nó.

rel ="noopener" và SEO

Tin tốt, rel="noopener" không ảnh hưởng đến SEO của bạn.

Nhược điểm của việc sử dụng noopener

Nhược điểm duy nhất mà tôi biết là rel="noopener" không có hỗ trợ Internet Explorer 11.

Tôi không quá lo lắng về điều đó vì:

  1. IE11 sẽ sớm trở thành lịch sử (Microsoft đang loại bỏ nó).
  2. Nếu khách truy cập trang web của bạn sử dụng IE11, họ vẫn có thể nhấp vào các liên kết của bạn, rel="noopener" thuộc tính sẽ không có hiệu lực.

Bên cạnh đó, với tư cách là chủ sở hữu trang web có trách nhiệm, bạn nên cẩn thận về người mà bạn liên kết bên ngoài. Không giới thiệu người dùng của bạn đến các trang web mà bạn không tin tưởng và vấn đề bảo mật này gần như không tồn tại.

Phương án 1:sử dụng "noreferrer"

Nếu lo lắng về người dùng Internet Explorer, bạn có thể thêm noreferrer giá trị thuộc tính (được hỗ trợ) cho liên kết cố định của bạn như sau:

<a href="https://www.youtube.com" rel="noopener noreferrer" target="_blank"
  >Link to youtube.com</a
>

"noreferrer" thuộc tính ngăn người giới thiệu (bạn) gửi thông tin đến trang web mục tiêu (mà bạn liên kết đến) bằng cách xóa thông tin giới thiệu khỏi tiêu đề HTTP.

rel="noreferrer" sẽ có tác động đến phân tích trang web vì các trang web mà bạn liên kết đến sẽ không biết rằng bạn liên kết với họ, điều này có thể ảnh hưởng đến thỏa thuận kinh doanh cụ thể mà bạn có thể có với họ.

Vì vậy, hãy làm điều này theo quyết định của riêng bạn.

rel ="noreferrer" và SEO

Trái ngược với những gì nhiều người tin tưởng, rel="noreferrer" không ảnh hưởng trực tiếp đến SEO của bạn, ít nhất là không có bằng chứng cho điều đó. Nhưng như đã đề cập ở trên, nó sẽ gây trở ngại cho việc thu thập / phân tích dữ liệu, điều này có thể gây hại cho bạn theo những cách khác / gián tiếp, tùy thuộc vào tình huống cụ thể của bạn.

Đừng nhầm lẫn với noreferrer hoặc noopener với nofollow (100% sẽ ảnh hưởng đến SEO).

Phương án 2:không sử dụng target ="_ blank"

Bạn cũng có thể ngừng sử dụng target="_blank" trên các liên kết cố định của bạn và sau đó bạn không phải lo lắng về bất kỳ điều gì trong số này.

Không có target="_blank" mọi liên kết trên trang web của bạn sẽ đưa người dùng rời khỏi trang web của bạn đến trang web mà bạn liên kết đến ngay khi họ nhấp vào nó.

Tuy nhiên, hãy cẩn thận bằng cách không sử dụng target="_blank" nó có thể và có thể sẽ ảnh hưởng tiêu cực đến SEO của bạn, cụ thể là tỷ lệ thoát của bạn.

Theo ý kiến ​​của tôi, đây là một ý tưởng tồi khi thực hiện bên trong một hướng dẫn, nơi người dùng có thể bị phân tâm bởi một thứ gì đó trên trang web mà bạn giới thiệu cho họ và cuối cùng lại quên mất trang web của bạn.

Bạn có thể lập luận rằng nếu nó chỉ sử dụng một liên kết bên ngoài để khiến người đọc quên mất nội dung của bạn, thì có lẽ nó đã không tốt ngay từ đầu. Điều này có thể đúng, nhưng cũng có thể là trường hợp mọi người dễ bị phân tâm, nói chung và thường không có lợi cho họ.

Đây không phải là một chủ đề đen trắng và tôi sẵn sàng đón nhận những quan điểm khác.

Tài nguyên

Đọc thêm về các vấn đề bảo mật với các liên kết bên ngoài