0

我的一个网页中有这个 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 的访问。

4

2 回答 2

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();
} 
?>
于 2013-08-26T12:01:44.417 回答
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”替换为您的域所需的字符串。更多信息在这里-> http://php.net/manual/en/reserved.variables.server.php

于 2013-08-26T12:04:10.720 回答