我正在考虑创建一个站点,该站点仅通过.txt文件或类似内容通过与jquery的AJAX连接加载网站内容。问题是,如果我这样做,人们(按人的意思是黑客,而不是黑客)难道不能随随便便改变我的.txt文件,有什么办法可以确保这一点?
最佳答案
只要AJAX请求中带有HTTP_X_REQUESTED_WITH
(jQuery ajax请求中就有),就可以使用PHP将用户重定向到文件之外,如下所示:
<?php
header('Content-type: text/plain');
if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest') {
// if not ajax request, then redirect to homepage
header("Location: /");
exit;
}
?>
如果它在文本文件的顶部,则可以使用,但是您必须请求带有
.php
扩展名而不是.txt
的文本文件,但它仍然是文本文件,因为第一个header()
调用将其设置为纯文本。