CORS control
This commit is contained in:
@@ -8,7 +8,7 @@ use CodeIgniter\Filters\DebugToolbar;
|
|||||||
use CodeIgniter\Filters\Honeypot;
|
use CodeIgniter\Filters\Honeypot;
|
||||||
use CodeIgniter\Filters\InvalidChars;
|
use CodeIgniter\Filters\InvalidChars;
|
||||||
use CodeIgniter\Filters\SecureHeaders;
|
use CodeIgniter\Filters\SecureHeaders;
|
||||||
|
use App\Filters\Cors;
|
||||||
class Filters extends BaseConfig
|
class Filters extends BaseConfig
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@@ -23,6 +23,7 @@ class Filters extends BaseConfig
|
|||||||
'honeypot' => Honeypot::class,
|
'honeypot' => Honeypot::class,
|
||||||
'invalidchars' => InvalidChars::class,
|
'invalidchars' => InvalidChars::class,
|
||||||
'secureheaders' => SecureHeaders::class,
|
'secureheaders' => SecureHeaders::class,
|
||||||
|
'cors' => Cors::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -36,6 +37,7 @@ class Filters extends BaseConfig
|
|||||||
// 'honeypot',
|
// 'honeypot',
|
||||||
// 'csrf',
|
// 'csrf',
|
||||||
// 'invalidchars',
|
// 'invalidchars',
|
||||||
|
'cors'
|
||||||
],
|
],
|
||||||
'after' => [
|
'after' => [
|
||||||
'toolbar',
|
'toolbar',
|
||||||
|
|||||||
@@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filters;
|
||||||
|
|
||||||
|
use CodeIgniter\Filters\FilterInterface;
|
||||||
|
use CodeIgniter\HTTP\RequestInterface;
|
||||||
|
use CodeIgniter\HTTP\ResponseInterface;
|
||||||
|
|
||||||
|
class Cors implements FilterInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Do whatever processing this filter needs to do.
|
||||||
|
* By default it should not return anything during
|
||||||
|
* normal execution. However, when an abnormal state
|
||||||
|
* is found, it should return an instance of
|
||||||
|
* CodeIgniter\HTTP\Response. If it does, script
|
||||||
|
* execution will end and that Response will be
|
||||||
|
* sent back to the client, allowing for error pages,
|
||||||
|
* redirects, etc.
|
||||||
|
*
|
||||||
|
* @param RequestInterface $request
|
||||||
|
* @param array|null $arguments
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function before(RequestInterface $request, $arguments = null)
|
||||||
|
{
|
||||||
|
header("Access-Control-Allow-Origin: *");
|
||||||
|
header("Access-Control-Allow-Headers: X-API-KEY, Origin,X-Requested-With, Content-Type, Accept, Access-Control-Requested-Method, Authorization");
|
||||||
|
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PATCH, PUT, DELETE");
|
||||||
|
$method = $_SERVER['REQUEST_METHOD'];
|
||||||
|
if($method == "OPTIONS"){
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows After filters to inspect and modify the response
|
||||||
|
* object as needed. This method does not allow any way
|
||||||
|
* to stop execution of other after filters, short of
|
||||||
|
* throwing an Exception or Error.
|
||||||
|
*
|
||||||
|
* @param RequestInterface $request
|
||||||
|
* @param ResponseInterface $response
|
||||||
|
* @param array|null $arguments
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user