问题描述
|
我已将脚本上传到用户服务器。我不希望其他人通过浏览器访问此脚本,但是,我希望脚本能够访问它。
将文件放置在public_html之外不是一个选择,因为它确实需要在public_html中。有任何想法吗???谢谢。
解决方法
在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;
}
?>
,如果用脚本表示服务器端,则可以在相关文件夹中添加一个“ 2”文件:
deny from all
但是,如果用脚本表示您是客户端,那么最终您将无法使用。
,您可以使路径仅对经过身份验证的客户端可用,并且仅向脚本提供凭据。
如果要通过浏览器进行访问,则用户和脚本都是“客户端”,并且您无法区分它们(除非使用诸如用户代理嗅探之类的脆弱技巧)。
,使文件可被用户或附件访问几乎是同义词。您不会一无所获。用户始终可以模仿脚本。
,您希望远离用户的包含的php文件可以放在DOCUMENT_ROOT
之外,并且仍包含在其他脚本中。
这样,您的网络用户将永远无法访问包含的php文件。实际上,这是存储数据库连接凭据的一种很好的安全方式。
,最好的方法是将其放在public_html目录之外。如果只有您的脚本要访问它,则没有理由将它放在public_html目录中。