我有一个关于如何防止热链接到json编码生成的.txt文件的问题。
我运行查询,数据被写入.txt文件。这工作得很好,但我担心的是可以绕过php会话并直接链接到txt文件。例如。 WWW /路径/到/ data / rawdata.txt?_ = 1415782184
//sql query
$response['data'] = $json;
$fp = fopen('data/rawdata.txt', 'w');
fwrite($fp, json_encode($response));
fclose($fp);
我正在使用jquery数据表来呈现数据。
$(function() {
var $dTable= $("#datalogs").dataTable( {
"ajax": "data/rawdata.txt"
任何想法或解决方案?
由于
答案 0 :(得分:1)
我建议将文件从.txt重命名为.php
这样,您可以使用以下php代码保护它免受热链接:
define('AJAX_REQUEST', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
if(!AJAX_REQUEST) {die();}
我从未尝试过,但我相信这样的重命名应该没问题......
答案 1 :(得分:0)
谢谢船长theo!
这是一段很好的代码!并结合我在php文件中包含的会话,我相信它增加了安全性。