Как ограничить показ iframe с внешнего сайта только конкретными доменами - PullRequest
13 голосов
/ 07 марта 2011

Я управляю службой, в которой контент клиента готовится и отображается в фрейме.Затем клиент копирует элементарный HTML-тег iframe и вставляет его на свою веб-страницу.Некоторые клиенты жалуются, что другие веб-сайты копируют тег iframe и вставляют его на свои сайты.

Можно ли ограничить отображение содержимого iframe определенным доменом или доменами?Возможно, программно сообщая iframe, что его родитель должен быть some-domain.com или не отображаться.

Имеет ли это смысл?Иногда я могу быть слишком многословным.

Ответы [ 2 ]

12 голосов
/ 07 марта 2011

вы можете использовать .htaccess (при условии, что исходное содержимое находится на сервере Apache), чтобы ограничить доступ к определенному IP.

Или, если страница является PHP, вы можете ограничить ее определенным доменом, например:

    <?php
$continue = 0;
if(isset($_SERVER['HTTP_REFERER'])) {

    //correct domain:
    $ar=parse_url($_SERVER['HTTP_REFERER']);
    if( strpos($ar['host'], 'yourdomain.com') === false ){
    } else {
        $continue = 1;
    }

}

if($continue == 0){
    header('HTTP/1.0 403 Forbidden');
    exit('Forbidden');
}

?>
1 голос
/ 07 марта 2011

Походит на проверку, которая лучше сделана на стороне сервера - вы можете сравнить разметку iFrame со списком допустимых доменных имен (или имен родительских доменов) и отклонить ее, если они недействительны.

Вы можете сделать все вышеперечисленное в javascript, прежде чем вставлять iFrame на страницу, но если javascript отключен, проверка не будет работать, не говоря уже о том, что с помощью инструментов разработки на клиенте любой javascript может быть изменен. 1003 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...