php - 停止直接访问文件夹中的所有文件,但允许 ajax 请求

标签 php ajax .htaccess security protection

不确定这是否可能,但是...

假设我有 process/login.php

如果用户直接访问该页面,我会检查用户是否来自发布表单等。如果不是,他们会收到 404。

但是我现在正在构建大量的流程脚本等,它们都需要不同的检查,因为有些只是包含在内。

如果用户直接访问任何文件,有没有办法让他们 404?使用 htaccess?

我知道有

Options -Indexes

但这只会停止显示文件。您仍然可以直接访问任何文件。

如果没有稳定的方法,那么我将手动检查所有文件并保护它们,但宁愿用户看不到任何东西。

最佳答案

好吧,它不是 100% 防弹的,因为 HTTP REFERRER 可以被欺骗。

试试这个规则:

RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com/ [NC] 
RewriteRule ^process/login\.php$ - [F,NC]

关于php - 停止直接访问文件夹中的所有文件,但允许 ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751363/

相关文章:

php - 如何在 JavaScript 中解析 SQL 查询返回?

javascript - 从 responsetext 属性中删除引号

php - 通过 Apache .conf 文件忽略一个子目录中的 .htaccess 文件和规则

javascript - 如何在 jquery 上更改 dateTime json 的格式?

php - 更改总计和 tax_total Woocommerce

php - .htaccess 在动态文件夹名称中加载索引

apache - 我需要更改 php.ini 中的任何内容才能更改 .htaccess 吗?

php - PHP 数据库查询中的分组项目

php - 使用纯 PHP 创建多个 Excel 工作表 - 可能吗?

php - html 字符集在 2 个服务器上工作不同