使文件可供脚本访问,但不能访问用户

时间:2011-05-25 18:04:53

标签: php

我已将脚本上传到用户服务器。我不希望其他人通过浏览器访问此脚本,但是,我希望脚本能够访问它。

将文件放在public_html之外不是一个选项,因为它确实需要在public_html中。有任何想法吗???感谢。

6 个答案:

答案 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目录中。