Я хочу разрешить размещение URL-адреса внутри php include (); но только определенные домены - не каждый. Остальные домены принадлежат мне и находятся на отдельном сервере. Если кто-то пытается включить () любой другой домен, но я хочу, чтобы он был запрещен.
Если это невозможно, есть ли обходной путь?
Моя рекомендация? Не делай этого с включениями. Выполнение кода подобным образом похоже на глотание вишневой бомбы в шоколаде.
Вы можете сделать это на веб-сервере, чтобы вы даже не пропустили домен, который не может анализировать или получать какие-либо файлы. Вы должны помнить, что любой запрос будет проходить через статический контент веб-сервера и сервера или подвергаться анализу, что занимает много времени, а затем добавляет время для выполнения сценария PHP.
$allowed_domains = array( 'stackoverflow.com', 'www.stackoverflow.com', 'facebook.com', 'www.facebook.com', 'google.com', 'www.google.com', ); if(!in_array(parse_url($url, PHP_URL_HOST), $allowed_domains)) { // throw an error }