如何从表单操作URL获取.php文件

时间:2017-01-30 11:31:51

标签: php

我希望通过将表单进程文件放在服务器根目录之外来保护它 但我不知道我怎么能访问它们...
这是我的尝试

的index.php

<form method = "post" action = "root_path/script.php?name=process_script.php"> ... </form>

的script.php

if($_SERVER['REQUEST_METHOD'] == 'GET' && !empty($_GET['name'])){

    $script_name = strtolower($_GET['name']);
    $process_path = 'process_path';
    $file_name = "$process_path/$script_name";

    if(file_exists($file_name)){
        //Here i don't know what i have to do to return needed process file
        exit();
    }
}

1 个答案:

答案 0 :(得分:1)

我不确定您是否要运行'process_script.php'或提供下载,所以这里有两种方法:

要将流程文件包含在脚本中,请使用:

require $file_name;

或者:

include $file_name;
如果文件不存在,

require会抛出致命错误,而include则不会。

如果您想提供此文件以供下载使用http://php.net/manual/en/function.readfile.php

安全考虑

但是,请确保清理传递给$file_name = "$process_path/$script_name";的输入,因为最终用户可以通过简单地传递不同的GET变量来运行/下载服务器上的任何文件。