Vượt qua màn hình hiển thị bị cấm bởi X-Frame-Options


420

Tôi đang viết một trang web nhỏ với mục đích đóng khung một vài trang khác, chỉ đơn giản là hợp nhất chúng vào một cửa sổ trình duyệt để dễ xem. Một vài trong số các trang tôi đang cố gắng đóng khung cấm không được đóng khung và ném "Từ chối hiển thị tài liệu vì màn hình bị cấm bởi X-Frame-Options." lỗi trong Chrome. Tôi hiểu rằng đây là giới hạn bảo mật (vì lý do chính đáng) và không có quyền truy cập để thay đổi.

Có phương pháp đóng khung hoặc không đóng khung nào khác để hiển thị các trang trong một cửa sổ không bị vấp phải bởi tiêu đề X-Frame-Options không?


117
Nếu chúng là trang của bạn, thì hãy xóa bộ giới hạn khung. Mặt khác, hãy tôn trọng mong muốn của tác giả trang và KHÔNG ĐƯỢC KHUNG.
Marc B

Nếu bạn gặp lỗi này cho Ứng dụng Facebook và sử dụng các cuộc gọi AJAX, tôi đã đọc ở đâu đó rằng Facebook thực sự thích sử dụng thẻ # cho liên hệ ajax, vì vậy hãy thử thay đổi liên kết, làm việc cho tôi.
eric.itzhak

28
@MarcB Chrome và Firefox đóng khung một cách đạo đức các trang web không thuộc sở hữu trong chrome UI gốc. Các chương trình này cũng cho phép các chính sách cùng nguồn gốc thoải mái cho chủ sở hữu của họ, FWIW. Như garen-checkly đã nói, "Tôi đang viết một trang web nhỏ với mục đích đóng khung một vài trang khác, chỉ đơn giản là hợp nhất chúng vào một cửa sổ trình duyệt duy nhất để dễ xem." Điều đó về cơ bản mở rộng trình duyệt web và sẽ hoàn toàn có đạo đức. Mục đích đã nêu không khác gì viết kịch bản bash để mở và sắp xếp các cửa sổ trình duyệt.
Samuel Danielson

1
Kiểm tra Surfly . Nó có thể làm chính xác những gì bạn cần.
muodov

1
@MarcB Điều đó không hữu ích. OP có thể không quan tâm đến mong muốn của tác giả trang.
flarn2006

Câu trả lời:


211

Tôi đã gặp một vấn đề tương tự, khi tôi đang cố gắng hiển thị nội dung từ trang web của chúng tôi trong iframe (dưới dạng hộp thoại kiểu hộp đèn với Colorbox ) và ở đó chúng tôi có tiêu đề "SAMEORIGIN" trên toàn máy chủ trên máy chủ máy chủ nguồn ngăn nó tải trên máy chủ thử nghiệm của chúng tôi.

Điều này dường như không được ghi lại ở bất cứ đâu, nhưng nếu bạn có thể chỉnh sửa các trang bạn đang cố gắng iframe (ví dụ: chúng là các trang của riêng bạn), chỉ cần gửi một tiêu đề X-Frame-Options khác với bất kỳ chuỗi nào các lệnh SAMEORIGIN hoặc DENY.

ví dụ. cho PHP, đặt

<?php
    header('X-Frame-Options: GOFORIT'); 
?>

ở đầu trang của bạn sẽ làm cho các trình duyệt kết hợp cả hai, điều này dẫn đến một tiêu đề là

X-Frame-Options SAMEORIGIN, GOFORIT

... Và cho phép bạn tải trang trong iframe. Điều này dường như hoạt động khi lệnh SAMEORIGIN ban đầu được đặt ở cấp máy chủ và bạn muốn ghi đè lên nó trong trường hợp từng trang.

Tất cả là tốt nhất!


3
Tôi đã có một khung xung quanh một trang web. Trên trang web của tôi, tôi đang chuyển hướng đến Instagram cho OAUTH. Vì Instagram gửi X-Frame-Options: SAMEORIGIN, không có cách nào để làm điều này trong khung. Bạn phải sử dụng một cửa sổ bật lên.
Steve Tauber

16
Với PHP, có lẽ tốt hơn để sử dụng header_removehàm mới , miễn là bạn có sẵn nó (> = 5.3.0).
một con mèo

11
Hoặc bạn có thể chỉnh sửa .htaccess nếu bạn muốn xóa X-Frame-Options khỏi toàn bộ thư mục. Chỉ cần thêm dòng:Header always unset X-Frame-Options
Jay

4
@cawecoy: Vâng, toàn bộ vấn đề là nó không hợp lệ. Nó dựa vào các trình duyệt bỏ qua tiêu đề không hợp lệ và 'không mở', đó là hành vi không xác định và khá tinh ranh để dựa vào. GOFORIT(hoặc mã thông báo không hợp lệ ngẫu nhiên tùy ý khác) đang cố tình phá vỡ một biện pháp bảo mật được áp dụng bởi một máy chủ; nếu bạn có quyền kiểm soát máy chủ (điều bạn nên làm đối với bất kỳ dịch vụ công cộng thực sự nào) thì việc cần làm chỉ là đặt máy chủ không đặt tiêu đề ở vị trí đầu tiên.
bobince

31
Điều này dường như không còn hoạt động trong Chrome nữa. Các giá trị không hợp lệ làm cho giá trị mặc định thành DENY.
jamesfm

159

Nếu bạn gặp lỗi này đối với video YouTube, thay vì sử dụng url đầy đủ, hãy sử dụng url nhúng từ các tùy chọn chia sẻ. Nó sẽ trông giống nhưhttp://www.youtube.com/embed/eCfDxZxTBW4

Bạn cũng có thể thay thế watch?v=với embed/nên http://www.youtube.com/watch?v=eCfDxZxTBW4trở thànhhttp://www.youtube.com/embed/eCfDxZxTBW4


14
Oh tiến bộ ... Tôi ước họ sẽ chuyển hướng chúng tôi đến trang nhúng thay vì gây ra lỗi và khiến tôi viết lại các tập lệnh của mình!
joeytwiddle

122

Nếu bạn gặp lỗi này trong khi cố gắng nhúng Google Map vào một iframe, bạn cần thêm &output=embedvào liên kết nguồn.


120
Điều đó chỉ đúng khi nhúng google maps vào iframe chứ không phải là "giải pháp" chung.
Benjamin Wohlwend

17
Tôi cần phải nhúng một bản đồ google vào hộp đèn, vì vậy "giải pháp" này là hoàn hảo
vào

5
Nếu bạn đang cố gắng thực hiện điều này với mục đích web Twitter, hãy quên nó đi. Chỉ mất cả ngày để thử các plugin hộp đèn khác nhau chỉ để tìm hiểu điều này "Mặc dù bạn có thể cung cấp liên kết đến các ý định trong IFRAME và các widget, các trang kết quả có thể được tải trong IFRAME." Nguồn: trang web Twitter.
Gubatron

6
Điều này không hoạt động nếu bạn đang cố tải iframe src sau khi phần còn lại của trang tải ngay cả khi bạn thêm&output=embed
tìm đường dẫn

1
@pathfinder Điều này hiệu quả với tôi khi tôi gặp sự cố khi tải iframe src sau khi trang được tải
David Sykes

61

CẬP NHẬT 2019: Bạn có thể bỏ qua X-Frame-Optionsviệc <iframe>sử dụng JavaScript phía máy khách và Thành phần web X-Frame-Bypass của tôi . Đây là một bản demo: Tin tức Hacker trong mộtX-Frame-Bypass . (Đã thử nghiệm trong Chrome & Firefox.)


3
Đó là một cách giải quyết thú vị. Hoạt động tốt trong FF / Chrome / Opera nhưng không hoạt động trong IE / Edge. Bất cứ ai biết cái gì sẽ?
Nhà sưu tập

7
Điều này không hoạt động nữa. Nó cho "Từ chối hiển thị ' news.ycombinator.com ' trong một khung vì nó đặt 'Tùy chọn khung X' thành 'DENY'." như mong đợi
g.pickardou

2
@ g.pickardou Nó hoạt động với tôi trong Google Chrome 46, tôi có thể thấy Tin tức Hacker trong iframe.
niutech

1
@niutech rằng fiddle hoạt động sau khi tải lại trang trong Chrome 64, nhưng lần đầu tiên tôi tải trang thì nó không hoạt động. (Hãy thử ẩn danh.)
Carl Walsh

1
Cảm ơn, điều này thật tuyệt vời!
Andrew Gans

23

Thêm một

  target='_top'

vào liên kết của tôi trong tab facebook đã khắc phục sự cố cho tôi ...


1
Tôi gặp vấn đề tương tự với iframe Paypal có trong iframe khác. Nó hoạt dộng bây giờ! Cảm ơn
Fabrizio Fortino

4
Tôi cũng đã thêm target = '_ top', nhưng vấn đề với giải pháp này là, liên kết hiện mở ra bên ngoài iframe trong tab mới mà không có canvas facebook.
sumitkanoje

23

Có một plugin cho Chrome, loại bỏ mục tiêu đề đó (chỉ dành cho sử dụng cá nhân):

https://chrom.google.com.vn/webstore/detail/ignore-x-frame-headers/gleekbfjekiniecknbkamfmkohkpodhe/reviews


@aup Nó có thể thực hiện một số sửa đổi trong phần tiêu đề của trang web.

Tiện ích mở rộng không thực hiện bất kỳ thay đổi nào trên trang web nhưng dường như nó bỏ qua xác thực tiêu đề phản hồi khung ở cấp trình duyệt
Vignesh Ammasi


13

Tôi gặp vấn đề tương tự khi tôi thử nhúng moodle 2 trong iframe, giải pháp là Site administration ► Security ► HTTP securityvà kiểm traAllow frame embedding


thực hiện tốt cho phương thức moodle, vì các phương thức khác không thành công / bị ghi đè.
ericosg

7

Đây là giải pháp các bạn ạ !!

FB.Event.subscribe('edge.create', function(response) {
    window.top.location.href = 'url';
});

Điều duy nhất làm việc cho các ứng dụng facebook!



6

Giải pháp tải trang web bên ngoài vào iFrame thậm chí khó khăn tùy chọn khung x được đặt thành từ chối trên trang web bên ngoài.

Nếu bạn muốn tải một trang web khác vào iFrame và bạn gặp Display forbidden by X-Frame-Options”lỗi thì bạn thực sự có thể khắc phục điều này bằng cách tạo tập lệnh proxy phía máy chủ.

Các srcthuộc tính của iFrame có thể có một địa chỉ tìm kiếm như thế này:/proxy.php?url=https://www.example.com/page&key=somekey

Sau đó, proxy.php sẽ trông giống như:

if (isValidRequest()) {
   echo file_get_contents($_GET['url']);
}

function isValidRequest() {
    return $_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['key']) && 
    $_GET['key'] === 'somekey';
}

Điều này bằng cách vượt qua khối, bởi vì nó chỉ là một yêu cầu GET có thể như là một lần truy cập trang trình duyệt thông thường.

Lưu ý: Bạn có thể muốn cải thiện bảo mật trong tập lệnh này. Bởi vì tin tặc có thể bắt đầu tải trong các trang web thông qua tập lệnh proxy của bạn.


Tôi đã làm điều này một vài tuần trước và bất kỳ URL tương đối nào được sử dụng trong trang bên ngoài không hoạt động khi sử dụng echo. (Điển hình là CSS và / hoặc JS, do đó bạn có thể không nhận được đầy đủ chức năng trừ khi bạn sửa đổi URL trước khi lặp lại.) Trừ khi tôi đã bỏ lỡ điều gì đó ...,
ultrageek

Không chắc chắn tại sao điều này xảy ra với bạn ... Nó sẽ hoạt động như một yêu cầu HTTP bình thường, giống như người dùng cuối sẽ thực hiện khi truy cập URL. Vì vậy, kết quả của get_file_contents () phải là một trang HTML hoàn toàn hoạt động.
Floris

5

Tôi đã thử gần như tất cả các đề xuất. Tuy nhiên, điều duy nhất thực sự giải quyết được vấn đề là:

  1. Tạo một .htaccessthư mục trong cùng một thư mục chứa tệp PHP của bạn.

  2. Thêm dòng này vào htaccess:

    Header always unset X-Frame-Options

Việc nhúng PHP bởi iframe từ một tên miền khác sẽ hoạt động sau đó.

Ngoài ra, bạn có thể thêm vào đầu tệp PHP của mình:

header('X-Frame-Options: ALLOW');

Đó là, tuy nhiên, không cần thiết trong trường hợp của tôi.


Tiêu đề luôn không đặt tùy chọn X-Frame-
ht

4

Tôi gặp vấn đề tương tự với mediawiki, điều này là do máy chủ từ chối nhúng trang vào iframe vì lý do bảo mật.

Tôi đã giải quyết nó bằng văn bản

$wgEditPageFrameOptions = "SAMEORIGIN"; 

vào tập tin cấu hình php mediawiki.

Hy vọng nó giúp.


3

FWIW:

Chúng tôi đã có một tình huống cần phải giết chúng tôi iFramekhi mã "breaker" này xuất hiện. Vì vậy, tôi đã sử dụng PHP function get_headers($url);để kiểm tra URL từ xa trước khi hiển thị nó trong một iFrame. Để có hiệu suất tốt hơn, tôi đã lưu các kết quả vào một tệp để tôi không tạo kết nối HTTP mỗi lần.


3

Tôi đã sử dụng Tomcat 8.0.30, không có gợi ý nào phù hợp với tôi. Vì chúng tôi đang tìm cách cập nhật X-Frame-Optionsvà thiết lập nó ALLOW, đây là cách tôi định cấu hình để cho phép nhúng iframe:

  • Điều hướng đến thư mục conf Tomcat, chỉnh sửa tệp web.xml
  • Thêm bộ lọc dưới đây:
<filter>
            <filter-name>httpHeaderSecurity</filter-name>
            <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
                   <init-param>
                           <param-name>hstsEnabled</param-name>
                           <param-value>true</param-value>
                   </init-param>
                   <init-param>
                           <param-name>antiClickJackingEnabled</param-name>
                           <param-value>true</param-value>
                   </init-param>
                   <init-param>
                           <param-name>antiClickJackingOption</param-name>
                           <param-value>ALLOW-FROM</param-value>
                   </init-param>
            <async-supported>true</async-supported>
       </filter>

       <filter-mapping>
                   <filter-name>httpHeaderSecurity</filter-name>
                   <url-pattern>/*</url-pattern>
                   <dispatcher>REQUEST</dispatcher>
       </filter-mapping> 
  • Khởi động lại dịch vụ Tomcat
  • Truy cập tài nguyên bằng iFrame.

2

Câu hỏi duy nhất có một loạt các câu trả lời. Chào mừng bạn đến với hướng dẫn mà tôi ước mình có khi tôi tranh giành nó để làm cho nó hoạt động vào lúc 10:30 tối vào ngày cuối cùng ... FB thực hiện một số điều kỳ lạ với các ứng dụng canvas, và, bạn đã được cảnh báo. Nếu bạn vẫn ở đây và bạn có ứng dụng Rails sẽ xuất hiện phía sau Canvas Facebook, thì bạn sẽ cần:

Đá quý:

gem "rack-facebook-signed-request", :git => 'git://github.com/cmer/rack-facebook-signed-request.git'

cấu hình / facebook.yml

facebook:
  key: "123123123123"
  secret: "123123123123123123secret12312"

cấu hình / ứng dụng.rb

config.middleware.use Rack::Facebook::SignedRequest, app_id: "123123123123", secret: "123123123123123123secret12312", inject_facebook: false

cấu hình / khởi tạo / omniauth.rb

OmniAuth.config.logger = Rails.logger
SERVICES = YAML.load(File.open("#{::Rails.root}/config/oauth.yml").read)
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, SERVICES['facebook']['key'], SERVICES['facebook']['secret'], iframe:   true
end

application_controll.rb

before_filter :add_xframe
def add_xframe
  headers['X-Frame-Options'] = 'GOFORIT'
end

Bạn cần một bộ điều khiển để gọi từ cài đặt canvas của Facebook, tôi đã sử dụng /canvas/và thực hiện tuyến đường chính SiteControllercho ứng dụng này:


class SiteController < ApplicationController
  def index
    @user = User.new
  end
  def canvas
    redirect_to '/auth/failure' if request.params['error'] == 'access_denied'
    url = params['code'] ? "/auth/facebook?signed_request=#{params['signed_request']}&state=canvas" : "/login"
    redirect_to url
  end
  def login
  end
end

login.html.erb


<% content_for :javascript do %>
  var oauth_url = 'https://www.facebook.com/dialog/oauth/';
  oauth_url += '?client_id=471466299609256';
  oauth_url += '&redirect_uri=' + encodeURIComponent('https://apps.facebook.com/wellbeingtracker/');
  oauth_url += '&scope=email,status_update,publish_stream';
console.log(oauth_url);
  top.location.href = oauth_url;
<% end %>

Nguồn

  • Cấu hình tôi nghĩ xuất phát từ ví dụ của omniauth.
  • Tệp đá quý (là chìa khóa !!!) đến từ: trình chiếu những thứ tôi đã học ...
  • Câu hỏi ngăn xếp này có toàn bộ góc Xframe, vì vậy bạn sẽ có một khoảng trống, nếu bạn không đặt tiêu đề này trong bộ điều khiển ứng dụng.
  • Và người đàn ông của tôi @rafmagana đã viết hướng dẫn heroku này , bây giờ bạn có thể chấp nhận cho đường ray với câu trả lời này và vai của những người khổng lồ mà bạn đi bộ.

2

mục tiêu = '_ cha mẹ'

Sử dụng ý tưởng của Kevin Vella, tôi đã thử thêm thuộc tính đó để tạo thành các yếu tố được tạo bởi trình tạo nút của PayPal. Làm việc cho tôi để Paypal không mở trong cửa sổ / tab trình duyệt mới.


Thật không may, điều này dường như không làm việc cho safari quá.
Wtower

1

Tôi không chắc nó có liên quan như thế nào, nhưng tôi đã xây dựng một cách giải quyết vấn đề này. Trên trang web của tôi, tôi muốn hiển thị liên kết trong một cửa sổ phương thức có chứa iframe tải URL.

Những gì tôi đã làm là, tôi đã liên kết sự kiện nhấp của liên kết đến chức năng javascript này. Tất cả điều này là đưa ra yêu cầu đối với tệp PHP kiểm tra các tiêu đề URL cho X-FRAME-Tùy chọn trước khi quyết định có tải URL trong cửa sổ phương thức hay để chuyển hướng.

Đây là chức năng:

  function opentheater(link, title){
        $.get( "url_origin_helper.php?url="+encodeURIComponent(link), function( data ) {
  if(data == "ya"){
      $(".modal-title").html("<h3 style='color:480060;'>"+title+"&nbsp;&nbsp;&nbsp;<small>"+link+"</small></h3>");
        $("#linkcontent").attr("src", link);
        $("#myModal").modal("show");
  }
  else{
      window.location.href = link;
      //alert(data);
  }
});


        }

Đây là mã tệp PHP kiểm tra nó:

<?php
$url = rawurldecode($_REQUEST['url']);
$header = get_headers($url, 1);
if(array_key_exists("X-Frame-Options", $header)){
    echo "nein";
}
else{
    echo "ya";
}


?>

Hi vọng điêu nay co ich.


1

Tôi đã gặp vấn đề này khi chạy một trang web wordpress. Tôi đã thử tất cả mọi thứ để khắc phục nó và không chắc chắn làm thế nào, cuối cùng vấn đề là do tôi đang sử dụng chuyển tiếp DNS với mặt nạ và các liên kết đến các trang web bên ngoài không được xử lý đúng cách. tức là trang web của tôi đã được lưu trữ tại http: //123.456.789/index.html nhưng được che dấu để chạy tại http://somewebSite.com/index.html . Khi tôi nhập http: //123.456.789/index.html trong trình duyệt, nhấp vào các liên kết tương tự đó dẫn đến không có vấn đề về nguồn gốc khung X trong bảng điều khiển JS, nhưng chạy http://somewebSite.com/index.html đã làm. Để che dấu đúng cách, bạn phải thêm máy chủ tên DNS của máy chủ lưu trữ vào dịch vụ tên miền của mình, ví dụ: godaddy.com nên có máy chủ tên ví dụ, ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com, nếu bạn là sử dụng digitalocean.com làm dịch vụ lưu trữ của bạn.


1
remove_action( 'admin_init', 'send_frame_options_header',10);
Cuối

1

Thật đáng ngạc nhiên khi không ai ở đây đã từng đề cập đến Apachecác cài đặt ( *.conftệp) của máy chủ hoặc .htaccesschính tệp đó là nguyên nhân gây ra lỗi này. Tìm kiếm thông qua các tập tin .htaccesshoặc Apachecấu hình của bạn , đảm bảo rằng bạn không có bộ sau DENY:

Header always set X-Frame-Options DENY

Thay đổi nó thành SAMEORIGIN, làm cho mọi thứ hoạt động như mong đợi:

Header always set X-Frame-Options SAMEORIGIN


nó đã được đề cập trước đây - xem nhận xét từ @Jay về câu trả lời stackoverflow.com/a/6767901/1875965
Sandra

Tôi cấu hình tệp .cs Tiêu đề luôn đặt X-Frame-Options SAMEORIGIN!
GeekHades

Nhưng làm thế nào điều này có liên quan đến câu hỏi ở đây, nơi tiêu đề đến từ các máy chủ nước ngoài , trực tiếp đến máy khách , IOW máy chủ của riêng bạn thậm chí không liên quan? Tui bỏ lỡ điều gì vậy?
Sz.

1

Câu trả lời thực sự duy nhất, nếu bạn không kiểm soát các tiêu đề trên nguồn bạn muốn trong iframe của mình, là ủy quyền nó. Có một máy chủ hoạt động như một máy khách, nhận nguồn, loại bỏ các tiêu đề có vấn đề, thêm CORS nếu cần và sau đó ping máy chủ của riêng bạn.

Có một câu trả lời khác giải thích làm thế nào để viết một proxy như vậy. Điều đó không khó, nhưng tôi chắc chắn rằng ai đó đã phải làm điều này trước đây. Nó chỉ là khó khăn để tìm thấy nó, vì một số lý do.

Cuối cùng tôi đã tìm thấy một số nguồn:

https://github.com/Rob--W/cors-anywhere/#documentation

^ ưa thích. Nếu bạn cần sử dụng hiếm, tôi nghĩ bạn chỉ cần sử dụng ứng dụng heroku của anh ấy. Mặt khác, đó là mã để tự chạy trên máy chủ của bạn. Lưu ý chắc chắn những giới hạn là gì.

sao cũng được

^ lựa chọn thứ hai, nhưng khá cũ. sự lựa chọn mới hơn trong python: https://github.com/Eiledon/alloworigin

sau đó có sự lựa chọn thứ ba:

http://anyorigin.com/

Điều này dường như cho phép sử dụng miễn phí một chút, nhưng sẽ đưa bạn vào danh sách xấu hổ công khai nếu bạn không thanh toán và sử dụng một số tiền không xác định, bạn chỉ có thể bị xóa nếu bạn trả phí ...


0

Không được đề cập nhưng có thể giúp đỡ trong một số trường hợp:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (xhr.readyState !== 4) return;
    if (xhr.status === 200) {
        var doc = iframe.contentWindow.document;
        doc.open();
        doc.write(xhr.responseText);
        doc.close();
    }
}
xhr.open('GET', url, true);
xhr.send(null);

0

Sử dụng dòng này được đưa ra dưới đây thay vì header()chức năng.

echo "<script>window.top.location = 'https://apps.facebook.com/yourappnamespace/';</script>";

0

tôi đã có vấn đề này và đã giải quyết nó chỉnh sửa httd.conf

<IfModule headers_module>
    <IfVersion >= 2.4.7 >
        Header always setifempty X-Frame-Options GOFORIT
    </IfVersion>
    <IfVersion < 2.4.7 >
        Header always merge X-Frame-Options GOFORIT
    </IfVersion>
</IfModule>

tôi đã thay đổi SAMEORIGIN thành GOFORIT và khởi động lại máy chủ


-1

Hãy thử điều này, tôi không nghĩ có ai đề xuất điều này trong Chủ đề, điều này sẽ giải quyết như 70% vấn đề của bạn, đối với một số trang khác, bạn phải loại bỏ, tôi có giải pháp đầy đủ nhưng không công khai,

THÊM bên dưới vào iframe của bạn

sandbox = "allow-same-origin allow-scripts allow-popups allow-Forms"


1
sandboxing làm giảm đặc quyền, nó không thêm chúng. xem html5rocks.com/en/tutorials/security/sandboxed-iframes
Kyle Baker

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.