我已将脚本上传到用户服务器。我不希望其他人通过浏览器访问此脚本,但是,我希望脚本能够访问它。
将文件放在public_html之外不是一个选项,因为它确实需要在public_html中。有任何想法吗???感谢。
答案 0 :(得分:16)
在include之前放置一些变量,以便知道它的调用位置:
的index.php:
$open = true;
include 'open.php';
open.php:
<?php
if(isset($open) && $open){
//do what it is supposed to do
}
else {
header("HTTP/1.1 403 Forbidden");
exit;
}
?>
答案 1 :(得分:4)
如果脚本是指服务器端,则可以在相关文件夹中添加.htaccess
文件:
deny from all
但是,如果脚本是指客户端,那么最终你不能。
答案 2 :(得分:2)
您可以仅对经过身份验证的客户端访问该路径,并仅向您的脚本提供凭据。
如果要通过浏览器访问它,那么用户和脚本都是“客户端”,你无法区分它们(除了使用像用户代理嗅探等脆弱的技巧)。
答案 3 :(得分:1)
使用户或sripts可以访问文件几乎是同义词。如果没有另一个,你就不会得到一个。用户可以始终模仿脚本。
答案 4 :(得分:1)
您希望远离用户的包含的php文件可以放在DOCUMENT_ROOT
之外,并且仍然包含在您的其他脚本中。
包含php文件的方式永远不会被您的网络用户访问。实际上,这是一种存储数据库连接凭证的安全方式。
答案 5 :(得分:0)
最好的方法是将它放在public_html目录之外。如果只有你的脚本要访问它,那么就没有理由存在于public_html目录中。