Guias: segurança de PHP e de servidores
Artigos técnicos para administradores e programadores: reconhecer webshells, reforçar o php.ini, analisar registos, programar com segurança.
Cronologia do PHP2Shell: de 17 a 25 de outubro de 2026
Todas as datas comprovadas do PHP2Shell numa só vista, da primeira tentativa de ataque observada até ao estado de 25/10/2026, e o que daí decorre para a sua verificação.
Ler mais →02Confirmação da atualização PHP do alojamento: como perguntar pelo estado do patch
Após o PHP2Shell, a versão do PHP apresentada prova pouco. Com este modelo, pede ao seu fornecedor de alojamento uma confirmação que pode documentar.
Ler mais →03Detetar e remover uma webshell
Como encontrar backdoors em servidores web PHP sem destruir vestígios, e porque é que apagar raramente basta.
Ler mais →04Encontrar backdoor no WordPress: detetar backdoors de forma sistemática
Onde as backdoors se escondem tipicamente no WordPress e como os administradores as detetam de forma sistemática com o WP-CLI e poucos comandos.
Ler mais →05Configurar o php.ini com segurança
Que definições do php.ini reduzem a superfície de ataque, como as proteger contra substituição e o que se aplica adicionalmente após o PHP2Shell.
Ler mais →06Usar corretamente o PHP disable_functions
Com o disable_functions bloqueia funções PHP arriscadas. Como definir a lista de acordo com a sua aplicação sem paralisar o site.
Ler mais →07open_basedir e isolamento por site
Como evitar, com o open_basedir, utilizadores de sistema próprios e pools PHP-FPM separados, que uma intrusão num site atinja todos os outros do servidor.
Ler mais →08Permissões de ficheiros no servidor web
Porque é que o servidor web não deve alterar o seu próprio código, que permissões fazem sentido para ficheiros e pastas e como verificar rapidamente o estado atual.
Ler mais →09composer audit: verificar vulnerabilidades nas dependências
Como os programadores encontram com o composer audit vulnerabilidades de segurança conhecidas em bibliotecas, automatizam a verificação e evitam erros típicos no deployment.
Ler mais →10PHP End of Life: riscos de versões desatualizadas
O que significa o fim do suporte de uma versão do PHP, que ramos ainda recebem patches oficiais após o PHP2Shell e como tornar a migração planeável.
Ler mais →11Evitar SQL Injection em PHP
Como os programadores excluem de forma fiável a SQL Injection em aplicações PHP com Prepared Statements, listas de permissão e permissões mínimas na base de dados.
Ler mais →12Evitar XSS em PHP: combater o Cross-Site Scripting com segurança
Como os programadores evitam o Cross-Site Scripting em aplicações PHP: codificação adequada ao contexto, escaping automático em templates, limpeza de HTML e uma Content Security Policy.
Ler mais →13Implementar uploads de ficheiros em PHP com segurança: segurança de uploads em PHP
Os formulários de upload são um caminho frequente para webshells. Como verificar corretamente os tipos de ficheiro, guardá-los em segurança e impedir que o servidor execute scripts carregados.
Ler mais →14Proteger sessões em PHP: segurança de sessões PHP na prática
As sessões mantêm os utilizadores autenticados e são, por isso, um alvo apetecível. Como configurar com segurança cookies, IDs de sessão e locais de armazenamento e aplicar o aviso do PHP2Shell sobre o upload progress.
Ler mais →15Desserialização insegura em PHP: unserialize e segurança
O unserialize() com dados alheios pode, no pior dos casos, levar à execução de código. Como substituí-lo por JSON, restringi-lo onde tem de permanecer e encontrar pontos arriscados no código.
Ler mais →16Evitar Local File Inclusion em PHP: LFI e RFI
Quando o include ou o require aceitam caminhos do pedido, os atacantes podem carregar ficheiros alheios. Como construir com segurança a seleção de páginas e os modelos e proteger adicionalmente o servidor.
Ler mais →17Proteger logins de administração contra brute force: proteção para qualquer login
As tentativas automatizadas de palavras-passe atingem qualquer página de login acessível. Como travar os atacantes com rate limiting e Fail2ban, proteger contas com segundo fator e guardar corretamente as palavras-passe.
Ler mais →18DDoS ou ataque informático? Classificar bem os ataques
Site lento, carga elevada, ficheiros estranhos: se por trás está um DDoS ou uma intrusão, isso decide a reação certa. Como classificar a situação com poucas verificações.
Ler mais →19Analisar os registos do servidor web após um ataque: ler corretamente o registo de acessos
Os ficheiros de registo são muitas vezes o vestígio mais importante após um ataque. Como guardar corretamente os registos de acessos, de erros e do PHP, encontrar pedidos suspeitos e evitar erros típicos na análise.
Ler mais →20Configurar a autenticação de dois fatores para acessos de administração
Uma palavra-passe roubada não pode bastar para assumir o seu servidor ou a sua loja. Como escolher o método adequado, proteger todos os acessos de administração e planear acessos de emergência.
Ler mais →21Estratégia de backup para servidores: backups segundo a regra 3-2-1
Um backup só ajuda se sobreviver a um ataque e puder ser restaurado. Como aplicar a regra 3-2-1 em servidores web e planear corretamente a conservação e os testes.
Ler mais →22Security headers para sites: definir corretamente os cabeçalhos de segurança
Os cabeçalhos de segurança instruem o navegador a proteger melhor os seus visitantes. Como definir os cabeçalhos mais importantes em Nginx e Apache, introduzir uma Content Security Policy por fases e verificar o resultado.
Ler mais →23Remover o aviso do Google “Este site foi pirateado”
Um aviso de pirataria nos resultados de pesquisa custa visitantes e confiança. Como limpar o site a fundo, encontrar páginas de spam escondidas e pedir a revisão no Search Console.
Ler mais →24Lista de verificação após uma intrusão: 20 pontos para o acompanhamento
Após um ataque, a sequência certa é o que conta. Esta lista de verificação guia, em 20 pontos, pela contenção, salvaguarda de provas, limpeza, novos acessos, obrigações e conclusão documentada.
Ler mais →Cada hora conta. Escreva-nos agora.
Descreva brevemente o sistema, a versão do PHP e o que observou. Entramos em contacto consigo, esclarecemos a situação e trabalhamos remotamente até o incidente estar concluído e documentado.