Есть ли способ создать черный список iframe?
Я заметил, по крайней мере, один сайт, который включает мой сайт в iframe, и мне любопытно, как лучше всего запретить этот тип поведения.
Я уже включил некоторый Javascript, который должен быть в состоянии поднять, если сайт создает мой, чтобы я мог создать список сайтов, которые я хочу заблокировать. Однако есть сайты, от которых я не хочу отказываться.
Можно ли будет с помощью IIS (7) просмотреть список сайтов, и, если запрос поступает с сайта в этом списке, каким-то образом произойти сбой или заблокировать запрос?
Спасибо!
1 ответ
Использовать X-Frame-Options: deny
Заголовок HTTP, чтобы никто не смог<iframe>
на вашем сайте. Если вы хотите быть в состоянии<iframe>
свой собственный сайт, но не позволяйте другим делать это, просто используйте X-Frame-Options: sameorigin
,
Больше читать наX-Frame-Options
в MDN.
Примечание: черный список обычно не работает в целях безопасности. Белый список - это правильный подход.
Allow-From разрешит только один URI, что означает, что если я использую URI Facebook, он убьет мой загрузчик изображений, и если я использую Sameorigin, загрузчик изображений (и любой из моих собственных iframe) будет работать, но это убьет facebook. Знаете ли вы, есть ли какая-либо комбинация Allow-From и Sameorigin, чтобы они оба применялись?
Это невозможно, учитывая текущую спецификацию. Однако вы можете использовать 2 разных URL для показа одного и того же контента: один для фрейминга в Facebook (отправка allow-from
) и один для ваших собственных фреймов (отправка sameorigin
). Не отлично, но лучше, чем ничего.