将 Drupal 7 站点嵌入为 iframe 时出现浏览器错误 - X-Frame-Options 问题
Browser error when embedding Drupal 7 site as iframe - X-Frame-Options issue
当 Drupal 7 遗留站点的页面嵌入到 iFrame 中时,我在 Chrome 和 Firefox 中收到 refused to connect
和 Can’t Open This Page
错误。我知道 X-Frame-Options 现在在 Drupal 7 中默认设置为 SAMEORIGIN,这就是我在 template.php 中关注的原因。以前可以,但是突然不工作了:
function spintx_preprocess(&$vars) {
header_remove('X-Frame-Options');
}
为什么这突然停止工作了?我该如何解决这个问题?
我尝试在htaccess文件中设置header,但我认为Header模块没有启用,所以没有任何效果:
<IfModule mod_headers.c>
Header set X-FRAME-OPTIONS "ALLOWALL"
</IfModule>
找到了这些 Drupal 8 解决方案,但它们对我没有帮助:https://drupal.stackexchange.com/questions/188924/how-to-embed-drupal-content-in-other-sites-remove-x-frame-options-sameorigin
不要使用直接的 PHP 头函数,而是使用 Drupal 的头函数。特别是你可以使用 drupal_add_http_header 来替换默认值:
drupal_add_http_header('X-Frame-Options', 'ALLOW-FROM https://ALLOWED.SITE/')
当 Drupal 7 遗留站点的页面嵌入到 iFrame 中时,我在 Chrome 和 Firefox 中收到 refused to connect
和 Can’t Open This Page
错误。我知道 X-Frame-Options 现在在 Drupal 7 中默认设置为 SAMEORIGIN,这就是我在 template.php 中关注的原因。以前可以,但是突然不工作了:
function spintx_preprocess(&$vars) {
header_remove('X-Frame-Options');
}
为什么这突然停止工作了?我该如何解决这个问题?
我尝试在htaccess文件中设置header,但我认为Header模块没有启用,所以没有任何效果:
<IfModule mod_headers.c>
Header set X-FRAME-OPTIONS "ALLOWALL"
</IfModule>
找到了这些 Drupal 8 解决方案,但它们对我没有帮助:https://drupal.stackexchange.com/questions/188924/how-to-embed-drupal-content-in-other-sites-remove-x-frame-options-sameorigin
不要使用直接的 PHP 头函数,而是使用 Drupal 的头函数。特别是你可以使用 drupal_add_http_header 来替换默认值:
drupal_add_http_header('X-Frame-Options', 'ALLOW-FROM https://ALLOWED.SITE/')