Lista de Classes
- App\Middleware\Cors
- App\Middleware\Auth
- App\Middleware\Env
- AppMin
- Application
- Route
- Data\Database
- Data\Db2Database
- Data\OdbcDatabase
- Data\Validator
- Data\KeyValue\SqliteStorage
- Data\Log\FileLogger
- Data\Log\HtmlLogger
- Encoding\Base64Url
- Encoding\Json
- Encoding\Utf8
- Environment\DotEnv
- Environment\System
- FileSystem\Search
- FileSystem\Security
- FileSystem\Sync
- Lang\I18N
- Lang\L10N
- Lang\Time
- Media\Image
- Net\Config
- Net\Email
- Net\HttpClient
- Net\HttpResponse
- Net\IP
- Net\SmtpClient
- Security\Crypto
- Security\Password
- Security\Crypto\Encryption
- Security\Crypto\FileEncryption
- Security\Crypto\JWT
- Security\Crypto\PublicKey
- Security\Crypto\Random
- Security\Crypto\SignedData
- Security\Web\CsrfSession
- Security\Web\CsrfStateless
- Security\Web\RateLimit
- Web\Request
- Web\Response
FastSitePHP\Security\Web\CsrfSession
Session-Based CSRF Tokens
Código Fonte
Código de Exemplo
Segurança - CSRF utilizando Session
// Uma chamada para um função estática cria um token em Requisições GET e
// valida isso com Requisições POST, PUT, DELETE etc. Se não há erro com o
// token, então um exceção é lançada, o que causará uma resposta 500 com a
// página de erro.
\FastSitePHP\Security\Web\CsrfSession::setup($app);
// O token recebe um valor locals no Objeto da Aplicação
$token = $app->locals['csrf_token'];
// Isto permite que seja utilizado com código de modelo. Tokens são
// validados à partir por [setup()] mas não automaticamente adicionado a
// formulários, então eles devem ser adicionados através de modelos ou por
// código.
//
// <meta name="X-CSRF-Token" content="{{ $csrf_token }}">
// <input name="X-CSRF-Token" value="{{ $csrf_token }}">
// Um bom lugar para chamar esta função é nos filtros de rota das páginas
// que utilizam autenticação. Exemplo:
// Crie uma função filtro para atribuir para múltiplas rotas
$csrf_session = function() use ($app) {
\FastSitePHP\Security\Web\CsrfSession::setup($app);
};
// Utilize a função quando definir uma rotaUse the function when defining a route
$app->get('/form', function() use ($app) {
return $app->render('form.php');
})
->filter($csrf_session);
Métodos
setup(Application $app, $key = 'X-CSRF-Token')
Função Estática
Setup and validate session-based CSRF Tokens. A good place to call this function is on route filters of pages that use authentication.
This will assign the token to app property $app->locals['csrf_token'] which then must be included with the form or response. When using [$app->render()] the value will be available as variable [$csrf_token].
For usage see demo code.