Guia de Seguranca
O PulseHub foi construido com a seguranca como preocupacao fundamental.
Autenticacao
- Senhas: bcrypt com fator de custo 12 — nunca armazenadas em texto simples
- Sessoes:
HttpOnly,SameSite=Strict,use_strict_mode, regeneradas no login - Comparacao em tempo constante via
password_verify()ehash_equals()
Prevencao de SQL Injection
Todas as consultas usam prepared statements PDO com EMULATE_PREPARES = false. A entrada do usuario nunca pode ser interpretada como sintaxe SQL.
Prevencao de XSS
Toda saida dinamica e escapada com e() → htmlspecialchars(ENT_QUOTES | ENT_HTML5, 'UTF-8').
Protecao CSRF
Cookies SameSite=Strict impedem requisicoes cross-site. Formularios de login e instalador incluem um campo oculto _token.
Verificacao de Assinatura de Webhook
- WhatsApp, Facebook, Instagram: HMAC-SHA256 com App Secret
- Viber: HMAC-SHA256 com Auth Token
- Todos usam
hash_equals()(tempo constante)
Controles de Acesso a Diretorios
Diretorios sensiveis (config/, app/, data/) sao bloqueados do acesso web via .htaccess e configuracao nginx.
Cabecalhos de Seguranca Recomendados
<IfModule mod_headers.c>
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
Mantendo o PulseHub Seguro
- Mantenha o PHP e MySQL atualizados
- Use HTTPS em todo lugar
- Rotacione as chaves de API periodicamente
- Monitore os logs de cron
- Faca backups regulares do banco de dados e do diretorio
config/