Apache 不允许用户访问,但允许脚本/cron访问

Apache 不允许用户访问,但允许脚本/cron访问,apache,.htaccess,cron,Apache,.htaccess,Cron,我有一些文件想通过cron运行,但我不希望用户或SE能够访问它们-我尝试将它们存储在不可通过web访问的目录中,但这导致了包含其他一些文件的问题 因此,如果我将它们存储在一个可通过web访问的目录中,如何使cron可以运行脚本,但用户和SE无法访问它们?让我们假设这些PHP文件位于目录DOCUMENT\u ROOT/scripts中,然后将此代码添加到DOCUMENT\u ROOT目录下的.htaccess中: RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+s

我有一些文件想通过cron运行,但我不希望用户或SE能够访问它们-我尝试将它们存储在不可通过web访问的目录中,但这导致了包含其他一些文件的问题


因此,如果我将它们存储在一个可通过web访问的目录中,如何使cron可以运行脚本,但用户和SE无法访问它们?

让我们假设这些PHP文件位于目录
DOCUMENT\u ROOT/scripts
中,然后将此代码添加到
DOCUMENT\u ROOT
目录下的
.htaccess
中:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+scripts/ [NC]
RewriteRule ^ - [F]
这将为
/scripts
的任何web请求显示禁止的错误,但将允许您的cron作业访问它们(假设cron使用
php-f从命令行执行)

要阻止对sub/subdir中所有
.php
文件的访问,请将此代码放入
sub/subdir/.htaccess

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s+/+.+?\.php[\s?] [NC]
RewriteRule ^ - [F]

假设这些PHP文件位于目录
DOCUMENT\u ROOT/scripts
中,然后将此代码添加到
目录下的
.htaccess
中:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+scripts/ [NC]
RewriteRule ^ - [F]
这将为
/scripts
的任何web请求显示禁止的错误,但将允许您的cron作业访问它们(假设cron使用
php-f从命令行执行)

要阻止对sub/subdir中所有
.php
文件的访问,请将此代码放入
sub/subdir/.htaccess

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s+/+.+?\.php[\s?] [NC]
RewriteRule ^ - [F]

我现在想这是因为包含文件的文件夹是sub dir的sub dir。难道我不能将.htaccess文件放在文件夹中,然后执行如下操作:
RewriteCond%{the_REQUEST}^[A-Z]{3,}\s+/*\.php[NC]
?是的,也可以这样做。我会在我的答案中提供正确的语法。我现在想这是因为包含文件的文件夹是sub dir的sub dir。难道我不能将.htaccess文件放在文件夹中,然后执行如下操作:
RewriteCond%{the_REQUEST}^[A-Z]{3,}\s+/*\.php[NC]
?是的,也可以这样做。我将在我的答案中为您提供正确的语法。