Integre verificação de idade e expressões faciais em minutos. Proteja seu conteúdo com a mais avançada tecnologia de IA.
Detecta automaticamente se o usuário é maior de 18 anos com alta precisão.
Verifica expressões faciais em tempo real para maior segurança.
Basta incluir um arquivo PHP no seu site e configurar.
Sistema seguro de tokens para validação de acesso.
Armazena verificações e mantém histórico de acessos.
Retorna automaticamente para a página original após verificação.
Copie o arquivo abaixo verifica_acesso.php para a raiz do seu site.
https://seusite.com/verifica_acesso.php
Adicione esta linha no início de cada página que deseja proteger:
<?php require_once 'verifica_acesso.php'; ?>
Crie a tabela para armazenar verificações (opcional):
CREATE TABLE verificacoes_idade (
id INT AUTO_INCREMENT PRIMARY KEY,
usuario_id INT NULL,
token VARCHAR(255),
ip VARCHAR(45),
user_agent TEXT,
status ENUM('pendente','aprovado') DEFAULT 'pendente',
criado_em DATETIME DEFAULT CURRENT_TIMESTAMP,
verificado_em DATETIME NULL,
expiracao DATETIME
);
<?php
/**
* VERIFICADOR DE ACESSO - FACES FORASTEYROS
* =========================================
* Coloque este arquivo no seu site e inclua nas páginas protegidas
*
* Para personalizar o link de login, altere a variável $link_login
* na função criarToken()
*/
session_start();
require_once 'config/database.php';
include "conex.php";
class VerificaAcesso {
private $conn;
private $conex_original;
public function __construct() {
$database = new Database();
$this->conn = $database->getConnection();
global $conexao;
$this->conex_original = $conexao;
}
public function verificar() {
// PASSO 1: Já está liberado na SESSÃO?
if (isset($_SESSION['acesso_liberado']) && $_SESSION['acesso_liberado'] === true) {
return true;
}
// PASSO 2: Usuário logado já tem verificação no BANCO?
if ($this->usuarioLogadoJaVerificado()) {
$_SESSION['acesso_liberado'] = true;
return true;
}
// PASSO 3: Voltando do Faces com token?
if (isset($_GET['token_verificacao'])) {
return $this->processarToken($_GET['token_verificacao']);
}
// PASSO 4: Primeiro acesso - salva página e redireciona
$this->salvarPaginaAtual();
$this->criarToken();
}
private function usuarioLogadoJaVerificado() {
if (!isset($_SESSION['id']) || empty($_SESSION['id'])) {
return false;
}
$usuario_id = intval($_SESSION['id']);
$sql = "SELECT verificacao_face, ultima_verificacao FROM usuarios WHERE id = $usuario_id";
$result = mysqli_query($this->conex_original, $sql);
if ($result && mysqli_num_rows($result) > 0) {
$usuario = mysqli_fetch_assoc($result);
if ($usuario['verificacao_face'] == 1) {
if (!empty($usuario['ultima_verificacao'])) {
$ultima = strtotime($usuario['ultima_verificacao']);
$dias = (time() - $ultima) / 86400;
if ($dias <= 30) {
return true;
}
} else {
return true;
}
}
}
return false;
}
private function salvarPaginaAtual() {
$pagina_atual = $_SERVER['REQUEST_URI'] ?? '/';
$pagina_atual = strtok($pagina_atual, '?');
$_SESSION['pagina_origem'] = $pagina_atual;
}
private function criarToken() {
$token = bin2hex(random_bytes(32));
$_SESSION['token_pendente'] = $token;
// 🔧 ALTERE AQUI O LINK DE LOGIN DO SEU SITE
// Exemplo: https://meusite.forasteyros.org/login/
$link_login = "https://seusite.forasteyros.org/login/";
$pagina_origem = $_SESSION['pagina_origem'] ?? '/';
$host = $_SERVER['HTTP_HOST'];
$url = "https://faces.forasteyros.org/verificar_integrado.php";
$url .= "?site_origem=" . urlencode("https://" . $host . $pagina_origem);
$url .= "&token=" . urlencode($token);
$url .= "&link_login=" . urlencode($link_login);
header("Location: $url");
exit;
}
private function processarToken($token) {
$token = preg_replace('/[^a-f0-9]/', '', $token);
// Atualiza banco de dados...
if ($this->conn) {
$usuario_id = isset($_SESSION['id']) ? intval($_SESSION['id']) : 'NULL';
$sql = "INSERT INTO verificacoes_idade (usuario_id, token, status)
VALUES ($usuario_id, '$token', 'aprovado')
ON DUPLICATE KEY UPDATE status = 'aprovado', verificado_em = NOW()";
mysqli_query($this->conn, $sql);
}
// Atualiza usuário logado
if (isset($_SESSION['id']) && $this->conex_original) {
$usuario_id = intval($_SESSION['id']);
mysqli_query($this->conex_original, "UPDATE usuarios SET verificacao_face = 1, ultima_verificacao = NOW() WHERE id = $usuario_id");
}
$_SESSION['acesso_liberado'] = true;
$pagina_origem = $_SESSION['pagina_origem'] ?? '/';
unset($_SESSION['pagina_origem']);
unset($_SESSION['token_pendente']);
header("Location: " . $pagina_origem);
exit;
}
}
// EXECUTA
$verifica = new VerificaAcesso();
$verifica->verificar();
?>
verifica_acesso.php, localize a linha:
$link_login = "https://seusite.forasteyros.org/login/";
Substitua pela URL de login REAL do seu site!
<?php
// pagina_protegida.php
require_once 'verifica_acesso.php';
// Se chegou aqui, o acesso foi liberado
?>
<!DOCTYPE html>
<html>
<head>
<title>Conteúdo Protegido</title>
</head>
<body>
<h1>Bem-vindo ao conteúdo exclusivo!</h1>
<p>Sua identidade foi verificada com sucesso.</p>
<a href="/login">Login com conta verificada</a>
</body>
</html>
1. Usuário tenta acessar página protegida
↓
2. Verifica se já está liberado na sessão
↓
3. Se não, verifica se usuário já foi verificado no banco (verificacao_face = 1)
↓
4. Se não, gera token único e redireciona para Faces
↓
5. Usuário faz verificação facial (idade ≥ 18 anos)
↓
6. Faces retorna com token confirmado
↓
7. Seu site valida token e libera acesso
↓
8. Usuário logado tem verificacao_face = 1 no banco
Clique no botão abaixo para testar o sistema de verificação facial em ação.
Testar Demo →🚀 Para grandes volumes, entre em contato para um plano personalizado.
Utilizamos IA para estimar a idade do usuário através da câmera. O acesso só é liberado se a idade for ≥ 18 anos.
Não! A verificação é feita nos servidores do Faces Forasteyros. Seu site apenas redireciona e recebe a confirmação.
No arquivo verifica_acesso.php, na função criarToken(), altere a variável $link_login.
Apenas tokens de verificação e logs básicos. As imagens da câmera não são salvas em nenhum servidor.
Sim! Compatível com câmera frontal e traseira em smartphones e tablets.
Chrome, Firefox, Safari, Edge e todos os navegadores modernos com suporte a WebRTC.