【发布时间】:2018-06-09 02:06:47
【问题描述】:
我知道有很多方法可以阻止直接访问(浏览)PHP 文件,即:
- 配置服务器拒绝他们
- 检查变量或常量是否已设置
- 检查文件是否在调用自身(使用
basename和$_SERVER['PHP_SELF'])
但是,我正在进行实时搜索。用户每按一次键,它就会通过 AJAX 将关键字发送到 PHP 文件中。使用以下方式可以阻止对包含文件的访问,但也可以阻止对 JavaScript 文件的访问。
此外,我上面说的 PHP 文件还包含另一个 PHP 文件,所以我认为传递一个变量并检查它是不可能的,因为您正在定义一个变量并在同一个文件中检查它。
有人有什么想法吗?任何帮助表示赞赏!
【问题讨论】:
-
您希望人们使用这些文件,但同时阻止人们使用这些文件?我不确定我是否理解这里的问题
-
浏览器可以访问的任何东西,最终用户都可以访问。我也不完全理解这个问题;我认为你要问的基本上是不可能的
-
@apokryfos,我的意思是我想阻止 php 浏览,但让 Javascript 文件访问它
-
你可以do this,但这不是万无一失的。
-
@WebDegBrian AJAX 请求与浏览器向您的服务器发出的任何其他请求几乎没有区别。您当前情况的所有“解决方案”都是微不足道的,例如this padlock。您需要在 PHP 文件中正确实现安全性,并区分应该公开访问的内容与应该通过仅包含使用的内容,并且可能应该位于您网站的内容根目录下方。
标签: javascript php .htaccess