Sự khác biệt giữa IFrame và Frame là gì?


91

Xem xét các tùy chọn để nhúng trang 3D Secure vào bên trong biểu mẫu đặt hàng của riêng tôi, tôi bắt gặp những điều sau:

"Một số trang web thương mại sẽ dành toàn bộ trang trình duyệt để xác thực hơn là sử dụng khung (không nhất thiết phải là iFrame, dù sao cũng là một đối tượng kém an toàn hơn)."

từ http://en.wikipedia.org/wiki/3-D_Secure

Ai đó có thể cho tôi biết lý do tại sao iframe kém an toàn hơn và gây ra sự cố, trái ngược với khung bình thường không? Và những điểm khác biệt cơ bản là gì?

Cách tôi nhìn thấy nó, iframelà con đường để đi.


Hãy xem ở đây .
Daniel Dušek

2
<frame>không còn được dùng trong HTML5, vì vậy bạn không nên sử dụng nó nữa.
Michael Hays

Câu trả lời:


64

Sự khác biệt là iframe có thể "trôi nổi" trong nội dung của một trang, tức là bạn có thể tạo một trang html và định vị iframe trong đó. Điều này cho phép bạn có một trang và đặt một tài liệu khác trực tiếp vào đó. A framesetcho phép bạn chia màn hình thành các trang khác nhau (theo chiều ngang và chiều dọc) và hiển thị các tài liệu khác nhau trong từng phần.

Đọc tóm tắt bảo mật IFrames .


Có vẻ như những vấn đề bảo mật đó sẽ không áp dụng với tôi, vì tôi đang trực tiếp tham khảo một trang web an toàn (và một trang web mà tôi 100% tin tưởng), vì vậy không biết làm thế nào kẻ tấn công có thể phá hoại điều này?
Duncan

14

IFrame chỉ là một "khung bên trong". Lý do tại sao nó có thể được coi là kém an toàn hơn (so với không sử dụng bất kỳ loại khung nào) là vì bạn có thể bao gồm nội dung không bắt nguồn từ miền của bạn.

Tất cả điều này có nghĩa là bạn nên tin tưởng bất cứ thứ gì bạn đưa vào iFrame hoặc khung thông thường.

Khung và IFrame đều an toàn như nhau (và không an toàn nếu bạn đưa nội dung từ một nguồn không đáng tin cậy).


Bạn cũng có thể đưa nội dung không có nguồn gốc từ miền của mình vào các khung thông thường.
Quentin

@David, tôi có lẽ nên nói rõ điều đó. Tôi đoán tôi đã ngụ ý điều đó nhưng chưa bao giờ thực sự nói ra. Tôi sẽ cập nhật câu trả lời của mình để làm rõ hơn. Cảm ơn!
Dan Herbert

i trong iframe thực sự là viết tắt của inline
Simon ZYX

6

iframes được sử dụng rất nhiều để bao gồm các trang hoàn chỉnh. Khi các trang đó được lưu trữ trên một tên miền khác, bạn sẽ gặp sự cố với các nội dung và tập lệnh chéo. Có nhiều cách để sửa lỗi này.

Các khung được sử dụng để chia trang của bạn thành nhiều phần (ví dụ: menu điều hướng ở bên trái). Sử dụng chúng không còn được khuyến khích.


"Khung được sử dụng để phân chia trang của bạn thành nhiều phần. Ví dụ như menu bên trái." 90 đã được gọi và bạn có trở lại. Bạn không nên sử dụng khung cho việc này. Cách đây vài năm người ta thường làm như vậy, nhưng bây giờ phần lớn thời gian bạn nên sử dụng serveride include và css để làm menu của mình. Nó cho phép sự linh hoạt cao hơn nhiều về lâu dài. nhungblues.com/web-development-blog/… có một số thông tin về chủ đề này.
Esteban Küber

13
Tôi biết :) Tôi chỉ muốn giải thích nơi khung "được" sử dụng cho (100 năm trước;))
Ivo

5

Những lý do duy nhất tôi có thể nghĩ ra là trong bài báo wiki mà bạn đã tham khảo đề cập đến một vài ...

"Hệ thống" Đã được xác minh bởi Visa "đã bị một số chỉ trích, vì người dùng khó có thể phân biệt giữa cửa sổ bật lên hoặc khung nội tuyến được Xác minh bởi Visa hợp pháp và một trang web lừa đảo gian lận."

"kể từ năm 2008, hầu hết các trình duyệt web không cung cấp một cách đơn giản để kiểm tra chứng chỉ bảo mật cho nội dung của iframe"

Nếu bạn đọc những trích đoạn trong bài viết nó Các chi tiết về tất cả các lỗ hổng bảo mật tiềm năng.

Nếu không, khác biệt duy nhất là một thực tế rằng một IFrame là một khung nội tuyến và một khung là một phần của một Frameset . Có nghĩa là nhiều vấn đề về bố cục hơn bất cứ thứ gì khác!


4

Khung nội tuyến chỉ là một "hộp" và bạn có thể đặt nó ở bất kỳ đâu trên trang web của mình. Khung là một loạt các 'hộp' được ghép lại với nhau để tạo nên một trang web có nhiều trang.


-1

Mặc dù bảo mật là như nhau, nhưng các ứng dụng gian lận có thể dễ dàng lừa gạt người dùng bằng cách sử dụng iframe hơn vì chúng linh hoạt hơn về vị trí đặt khung.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.