You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.2 KiB
42 lines
1.2 KiB
<?php |
|
/** |
|
* This file is part of webman. |
|
* |
|
* Licensed under The MIT License |
|
* For full copyright and license information, please see the MIT-LICENSE.txt |
|
* Redistributions of files must retain the above copyright notice. |
|
* |
|
* @author walkor<walkor@workerman.net> |
|
* @copyright walkor<walkor@workerman.net> |
|
* @link http://www.workerman.net/ |
|
* @license http://www.opensource.org/licenses/mit-license.php MIT License |
|
*/ |
|
|
|
namespace app\middleware; |
|
|
|
use Webman\MiddlewareInterface; |
|
use Webman\Http\Response; |
|
use Webman\Http\Request; |
|
|
|
/** |
|
* Class StaticFile |
|
* @package app\middleware |
|
*/ |
|
class StaticFile implements MiddlewareInterface |
|
{ |
|
public function process(Request $request, callable $next): Response |
|
{ |
|
// Access to files beginning with. Is prohibited |
|
if (strpos($request->path(), '/.') !== false) { |
|
return response('<h1>403 forbidden</h1>', 403); |
|
} |
|
/** @var Response $response */ |
|
$response = $next($request); |
|
// Add cross domain HTTP header |
|
/*$response->withHeaders([ |
|
'Access-Control-Allow-Origin' => '*', |
|
'Access-Control-Allow-Credentials' => 'true', |
|
]);*/ |
|
return $response; |
|
} |
|
}
|
|
|