Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache/PHP文件验证_Php_Apache_Code Access Security - Fatal编程技术网

Apache/PHP文件验证

Apache/PHP文件验证,php,apache,code-access-security,Php,Apache,Code Access Security,我们有一个注册所有的文件(网页),应该从我们的网络服务器服务。 我是否可以配置Apache以执行特定的脚本/程序来验证请求的页面是否已注册? 如果请求的页面未注册,“未找到页面”将显示。我确实读了几遍你的问题,但我仍然无法100%理解你的问题。请更新一些详细信息 如果找不到页面,Apache将发送404,因此我假设您允许服务器上的任意文件(在dev或版本化文件等中),但正在尝试在加载文件之前根据允许的文件列表检查文件或请求 这可以通过PHP和mod_重写完成 因此,使用PHP和一个粗略的示例,您

我们有一个注册所有的文件(网页),应该从我们的网络服务器服务。 我是否可以配置Apache以执行特定的脚本/程序来验证请求的页面是否已注册?
如果请求的页面未注册,“未找到页面”将显示。

我确实读了几遍你的问题,但我仍然无法100%理解你的问题。请更新一些详细信息

如果找不到页面,Apache将发送404,因此我假设您允许服务器上的任意文件(在dev或版本化文件等中),但正在尝试在加载文件之前根据允许的文件列表检查文件或请求

这可以通过PHP和mod_重写完成

因此,使用PHP和一个粗略的示例,您可以执行以下操作:

<?php
$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); 

if(check_register($path)){
    //load page into buffer
    ob_start();
    require($path);

    echo ob_get_clean();
}else{
    exit(header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found'));
}
?>

你说的“登记册”是什么意思?为什么他们的文件会出现在您的服务器上,而您却不希望这些文件得到服务?我担心您是否同意首先允许未注册或未经批准的文件进入您的服务器,这对您来说不是一个问题。注册表是一个数据库,包含文件名和位置、版本、校验和以及有关文件的其他一些详细信息。我提到的细节是用来验证文件的。这不是一个星期的问题。这更多是为了防止使用过时的版本。我想我可能也会帮助防止一些黑客攻击。这似乎是我一直在寻找的答案。我只需要测试和确认。
RewriteEngine On
Options -Indexes
RewriteBase /
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule .* index.php [L]