Как разрешить http реферер с более чем 1 сайта

Я хотел бы знать, как разрешить http ссылаться с более чем 1 сайта.

Например

<?php
$domain='example.net';
$referrer = $_SERVER['HTTP_REFERER'];
if (@preg_match("/example.net/",$referrer)) {
} else {
header('Location: http://www.example.net/404.php');
};
?>

Этот код работает, если я открываю ссылки с example.net, но я хочу, чтобы example1.net и example2.net также получили доступ к ссылкам.

Как мне это сделать? Если бы кто-нибудь мог помочь мне с этим, это было бы очень ценно.

0

Решение

Используйте оператор регулярного выражения для или — | (Труба)

<?php
$domains = Array(
'example.net',
'example2.net'
);
$referrer = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST); // Gets the domain name from referer
if (!preg_match("/" . implode('|', $domains) . "/", $referrer)) {
header('Location: http://www.example.net/404.php');
exit(0); //force exit script after header redirect to ensure no further code is executed.
};

// Normal code execution here...
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]