Dissallow php通过从parentfolder访问htaccess执行CSS文件夹
我有个问题。我想让一个客户通过FTP访问我的网店的CSS文件夹。我试图阻止在这个文件夹中运行PHP,但它不起作用。我想我的问题是,我不想在css文件夹中添加另一个.htaccess。我必须使用主目录中的.htaccess文件来处理这个问题 我试过这个Dissallow php通过从parentfolder访问htaccess执行CSS文件夹,php,apache,.htaccess,Php,Apache,.htaccess,我有个问题。我想让一个客户通过FTP访问我的网店的CSS文件夹。我试图阻止在这个文件夹中运行PHP,但它不起作用。我想我的问题是,我不想在css文件夹中添加另一个.htaccess。我必须使用主目录中的.htaccess文件来处理这个问题 我试过这个 RewriteRule ^css/*\.php$ /404.php [NC,L] 。。。但它不起作用。我的服务器正在执行css文件夹中的php文件。 有人知道如何防止执行位于子文件夹中的php文件吗?更好的解决方案是,只允许在特定文件夹中使用te
RewriteRule ^css/*\.php$ /404.php [NC,L]
。。。但它不起作用。我的服务器正在执行css文件夹中的php文件。
有人知道如何防止执行位于子文件夹中的php文件吗?更好的解决方案是,只允许在特定文件夹中使用text/css
信息:我正在使用Plesk。您需要使用正则表达式,而不是通配符。将
*
替换为(.*)
:
您可以使用以下选项作为备选方案:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^/css/
RewriteRule (.*).php /404.php [L]
但是,我建议您明确拒绝访问该文件:
RewriteRule (.*).php - [F,L]
您需要使用正则表达式,而不是通配符。将
*
替换为(.*)
:
您可以使用以下选项作为备选方案:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} ^/css/
RewriteRule (.*).php /404.php [L]
但是,我建议您明确拒绝访问该文件:
RewriteRule (.*).php - [F,L]
一个更好的方法是,如果您不想让PHP运行,只需关闭该目录中的PHP。。。虽然这意味着需要额外的.htaccess文件。然而,它也会阻止PHP在类似.phtml的文件中运行——我认为它比404.PHP更简单 您可以在.htaccess中使用
PHP\u标志设置PHP布尔类型设置
在这种情况下,在相关的.htaccess文件中:
php_flag engine off
正如Mike Rockett指出的那样-由于用户对该文件夹具有FTP访问权限,因此您需要更改.htaccess文件(CHOWN)的所有权,以防止用户篡改或删除该文件。更好的方法是,如果不希望该目录运行,只需关闭该目录中的PHP即可。。。虽然这意味着需要额外的.htaccess文件。然而,它也会阻止PHP在类似.phtml的文件中运行——我认为它比404.PHP更简单 您可以在.htaccess中使用
PHP\u标志设置PHP布尔类型设置
在这种情况下,在相关的.htaccess文件中:
php_flag engine off
正如Mike Rockett指出的,由于用户对该文件夹具有FTP访问权限,因此您需要更改.htaccess文件(CHOWN)的所有权,以防止用户篡改或删除该文件。
/*
表示“0个或更多斜杠字符”。重写使用正则表达式,而不是普通通配符。/*
表示“0个或多个斜杠字符”。重写使用正则表达式,而不是普通的通配符。好主意,但是用户可以很容易地删除.htaccess
文件,因为他可以通过FTP访问目录。@MikeRockett Fair point-除非你对该文件进行重读并拒绝他们访问。这也是正确的。好主意,但是用户可以很容易地删除.htaccess
文件,因为他可以通过FTP访问目录。@MikeRockett Fair point-除非您删除该文件并拒绝他们访问该文件。这也是事实。谢谢。“重写规则(.*.php-[F,L]”是一个好方法。可以将筛选器还原为“!css”,而不是搜索php文件。谢谢。“重写规则(.*.php-[F,L]”是一个好方法。可以将筛选器还原为“!css”,而不是搜索php文件。