2010-10-30 31 views
9

Tôi phải bao gồm trang web nhãn bên ngoài trong iframe trên trang của mình. Có rất nhiều trang trên trang web bên ngoài và chúng thay đổi đáng kể về chiều cao.Lấy chiều cao của khung nội tuyến có URL bên ngoài

Tôi cần điều chỉnh chiều cao của khung nội tuyến để phù hợp với điều này.

Tôi có thể nhận được chiều cao của trang đầu tiên được tải vào khung nội tuyến (sử dụng PHP), nhưng không có cách nào để có được chiều cao trang tiếp theo vì không biết cách url/vị trí thay đổi trong khung nội tuyến.

Vì đây là một url bên ngoài trong khung nội tuyến, giới hạn bảo mật thông thường được áp dụng, do đó TẤT CẢ các giải pháp phải đến từ khung chính. Giải pháp phải có thể làm việc trên FF và IE ít nhất.

Điều duy nhất tôi có thể nghĩ là kiểm tra xem thanh cuộn có hiển thị trên iframe không, nhưng điều này dường như là không thể trong những trường hợp này.

Nếu bất kỳ ai có thể chứng minh tôi sai hoặc có bất kỳ giải pháp trình duyệt qua javascript/ajax/php nào khác, tôi rất muốn nghe nó.

+0

Xem câu hỏi này: http://stackoverflow.com/questions/466672/set-iframe-to-height-of-content-for-remote-content – Zach

+0

Có tôi đã xem câu hỏi đó. Nhưng ở đây tôi đã nhấn mạnh rằng "TẤT CẢ các giải pháp phải đến từ khung chính". Hầu hết các đề nghị tôi đã thấy liên quan đến mã hóa của một số loại trên trang từ xa. – Owen

Trả lời

8

Đó là không thể để thực hiện việc này vì mô hình bảo mật của trình duyệt. Nếu có thể, đó sẽ là một vấn đề an ninh và sẽ phải được sửa chữa.

Mặc dù cho phép trang web nhúng biết chiều cao của trang web của bên thứ ba khi được nhúng vào trang dường như vô hại, điều này có thể làm rò rỉ thông tin đến trang nhúng mà người dùng của trình duyệt muốn giữ riêng tư. Ví dụ: http://www.facebook.com/ hiển thị khác nhau tùy thuộc vào việc bạn có đăng nhập hay không, vì vậy nếu trang web của tôi có thể hoạt động chiều cao <iframe src="http://www.facebook.com/"> thì tôi có thể biết bạn có phải là người dùng facebook hay không biết.

Rò rỉ thông tin sẽ tương tự như tiếng khét tiếng CSS History Leak ở chỗ nó sẽ tiết lộ thông tin về mối quan hệ của người dùng với trang web của bên thứ ba chỉ bằng cách "liên kết" tới trang web đó (trong trường hợp này với iframe thay vì liên kết) . Các nhà cung cấp trình duyệt đã phải cắm CSS Leak History, vì vậy tôi nghi ngờ nếu bạn có thể làm việc trên chiều cao của trang web của bên thứ ba được hiển thị trong iframe trong bất kỳ trình duyệt nào, nhà cung cấp cũng sẽ phải khắc phục điều đó.

Thông tin bị rò rỉ sẽ là bất kỳ thứ gì có thể được suy ra từ độ cao của trang khi được hiển thị cho người dùng sử dụng cookie của họ (trình duyệt sẽ gửi mặc dù hiển thị trong iframe bên trong trang của tên miền khác). Các rủi ro cụ thể phụ thuộc hoàn toàn vào bản chất của trang nhúng được "tấn công". Ví dụ. Tôi có thể có ý tưởng về hoạt động của stackoverflow mà ai đó truy cập vào trang web của tôi bằng cách nhận được chiều cao là https://stackoverflow.com/reputation khác với người dùng khác nhau.

+0

Hmmm .. tôi và 500 triệu người khác ;-) Tất cả những gì bạn có là thông tin ẩn danh, ví dụ, SOMEONE được đăng nhập. – Owen

+3

Không chính xác. Tôi biết rằng BẠN, người đang xem trang web của tôi đã đăng nhập. Cho tôi cơ hội nhắm mục tiêu tấn công lừa đảo tốt hơn vào bạn. Thay vì facebook, tôi có thể bí mật tìm ra một trong số 37 trang ngân hàng khác nhau mà bạn sử dụng. Lưu ý rằng thông tin bị rò rỉ tương tự như CSS Leak History gây ra một sự khuấy động và tranh giành để sửa lỗi, xem http://blog.mozilla.com/security/2010/03/31/plugging-the-css-history- rò rỉ/nếu bạn không quen với cái đó. – Day

+0

Đang kiểm soát khung chính bạn đã biết url đầu tiên (facebook hoặc ngân hàng) được tải vào khung nội tuyến. Không có bí mật ở đó để bắt đầu. Điều này không giống như rò rỉ lịch sử CSS (cảm ơn liên kết) nhưng có thể so sánh hơn với việc biết một siêu liên kết được sử dụng để thoát khỏi trang web của bạn. Chỉ "bổ sung" mà bạn có thể nhận được là người dùng có thông tin đăng nhập tại trang web từ xa ... điều này không có gì ngạc nhiên khi bạn đang sử dụng url bạn đã cung cấp cho khung nội tuyến. Nói cách khác, thông tin đó sẽ là một phỏng đoán công bằng. – Owen

Các vấn đề liên quan