我的一个网页上有这个test.php代码。
<?php
ob_start();
$links = array(
'dolhd' => '/dohd.m3u8',
'dol1' => '/dol1.m3u8',
'dol2' => '/dol2.m3u8',
'dol3' => '/dol3.m3u8',
'thd' => '/thd.m3u8',
't1' => '/t1.m3u8',
'test' => 'https://www.youtube.com/watch?v=0OWt8O8pgw0',
);
$id = $_GET['id'] ? ($links[$_GET['id']] ? $_GET['id']: 'test') : 'test';
header ('Location:'.$links[$id]);
ob_flush();
exit;
?>
可以从浏览器访问该页面,如test.php?id=dol1
,结果是下载文件dol1.m3u8
我想知道该页面是否可以仅从同一域中的其他页面访问。
或阻止除域外的所有ip-s的访问。
答案 0 :(得分:0)
将您的重定向文件标题更改为您的IP地址:
<?php
$allow = array("192.168.10.1", "192.168.10.2", "192.168.10.3");
if (!in_array($_SERVER['REMOTE_ADDR'], $allow)) {
echo "Your access denied!";
exit();
}
?>
答案 1 :(得分:0)
if ($_SERVER["HTTP_REFERER"]!=="your.domain.here"){
//redirect or whatever - referrering url not from this domain
}else{
ob_start();
$links = array(
'dolhd' => '/dohd.m3u8',
'dol1' => '/dol1.m3u8',
'dol2' => '/dol2.m3u8',
'dol3' => '/dol3.m3u8',
'thd' => '/thd.m3u8',
't1' => '/t1.m3u8',
'test' => 'https://www.youtube.com/watch?v=0OWt8O8pgw0',
);
$id = $_GET['id'] ? ($links[$_GET['id']] ? $_GET['id']: 'test') : 'test';
header ('Location:'.$links[$id]);
ob_flush();
exit;
}
确保将“your.domain.here”替换为您所在域的所需字符串。更多信息在这里 - &gt; http://php.net/manual/en/reserved.variables.server.php