处理表单,如果动作引用的php文件在拒绝从所有目录


Process the form if the action reference to a php file in a deny from all directory

结构

  • index . php
  • app/processor.php
  • app/. htaccess

在index。php中有这个形式

<form method='post' action='/app/processor.php'>
    <input type='text' name='foo' value=''/>
    <input type='submit' value='bar'/>
</form>

处理表单的文件位于app文件夹中。php的代码是:

<?php
    if(isset($_POST['foo'])){
        echo "foo is set";
    }
?>

在app文件夹中,我创建了一个。htaccess来拒绝对其中文件的直接访问。

Order deny,allow
Deny from all

我现在的问题是,我不能处理由于。htaccess文件的形式。由于app文件夹中的限制,服务器返回错误403。是否可以通过使用processor。php来处理表单?或者我应该删除/修改。htaccess?谢谢你的回答!

Order deny,allow的上方,你可以添加这样的部分:

<Files processor.php>
Allow from all
</Files>

它应该允许读取特定的文件,而其他所有文件都被禁止。

如果不修改。htaccess文件,就无法执行/app/processor.php中的代码。