DataTables 隐藏数据源

DataTables Hide Data Source

我有一个 DataTables table 从

加载数据
$table.dataTable({
    ajax: 'path/to/getData.php',
});

getData.php 进行一些数据库调用和 returns json_encode() 输出数组,DataTables 能够很好地解析它。

但是,如果有人去 http://mywebsite.com/path/to/getData.php,他们将能够看到所有原始 JSON 数据并可能抓取它。

有没有办法阻止人们访问 getData.php 除非它被 dataTables 调用?

我相当确定这必须是对 PHP 代码的修改,因为任何人都可能通过 Javascript.

看到我的解决方法

我最终使用了 $_SESSION 个变量。

在包含 table 的页面的开头,我设置了 $_SESSION['secure'] = true;

在我的 getData.php 文件中,我有:

if($_SESSION['secure']) {
    echo json_encode($output);
    $_SESSION['secure'] = false;
}

重置 secure 会话变量。