Skip to content
This repository was archived by the owner on Jan 11, 2026. It is now read-only.

Prevenir ataque CSRF #8

@bitts

Description

@bitts

Implementação de bloqueio cross-site request forgery (falsificação de solicitação entre sites)

Método: utilização de token
Esse método consiste em incluir um token (string) aleatório em cada solicitação, ou seja, será adicionado um campo oculto a cada formulário existente com o token como valor.

Esse token é gerado pelo PHP e armazenado em uma sessão para quando existir uma requisição, o sistema fazer a comparação com o valor que foi preenchido automaticamente (ou mal-intencionada) no formulário.

$_SESSION['token'] = md5(uniqid(rand(), true));)

Ou

function generateRandomString($length = 15) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++)
        $randomString .= $characters[rand(0, $charactersLength - 1)];

    return $randomString;
} 
$_SESSION['Token'] = generateRandomString();

<input type="hidden" name="token" value="<? php echo $_SESSION['token']?>" />

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions