Ir para conteúdo
  • Cadastre-se

Sites em PHP (Erros e Segurança básica)


augustocesr

Posts recomendados

Fala galera, baixei muitos sites e projetos aqui e vi alguns detalhes que faltaram, também posts do pessoal reportando errors que os sites acontecem, etc etc.

 

Enfim, vou apontar 2 tópicos que eu achei importante, a segurança e os errors.

 

# Segurança básica

É claro que todos sabem que não existe 100% de segurança, mas você consegue deixar sua aplicação mais difícil de ser invadida e com menos erros. Algumas coisas que você pode fazer para aumentar a segurança do seu website.

 

1 - reCaptcha: é muuito importante hoje com o aumento de bots. É claro que já existem bots que conseguem burlar o reCaptcha, mas é para os que tem um conhecimento mais avançado da coisa. Proteja suas entradas de dados com um captcha. O que eu vejo a galera de dev usar mais é o da Google (reCaptcha).

2 - CSRF: de forma bem genérica, evita bots também e aumenta muito a segurança das requisições do seu sistema. Todo formulário precisará ter um token que irá ser recebido pelo back e irá fazer a validação na qual esse token (um hash) é setado na sessão. A validação básica é a seguinte:

O conteúdo está oculto, favor efetuar login ou se cadastrar!

3 - Filtro de dados: Funções importantes para filtrar os dados de entradas, os mais usados são o addslashes e o FILTER_INPUT

4 - Use PDO! Usando PDO com o Design Pattern Singleton fica bem mais fácil programar e é claro que te dá inúmeras vantagens, além da segurança te dá a possibilidade de migrar facilmente o projeto que usa por ex MySQL para SQL Server ou outros.

5 - Use o Csrf Token nas requisições Ajax também! Sabemos que o Ajax aumenta e experiência do site com o usuário, porém tem gente que sabe se aproveitar disso. O Ajax é uma "URL como outra qualquer", porém acessada por baixo dos panos, então é importante também enviar o seu csrf Token e fazer a validação.

6 - Quando usar Ajax, verifique se a requisição que está sendo feita é de fato um Ajax!

7 - Utilize .htaccess para fazer suas rotas! Eu quando estava iniciando fazia códigos e códigos pra fazer a famosa query string. É interessante, com certeza. Mas deixar a responsabilidade das url's só no código php não acho bom. Se em nosso htaccess colocar-mos todas as páginas possíveis (as nossas rotas) as que não existirem, é 404 (que no proprio arquivo você configura pra redirecionar pra essa página, aumentando assim a velocidade).

 

 

# Errors

Não é bom ficar exibindo erros para os usuários, alias, isso pode até ser uma falha de segurança pra um usuário que entende do assunto ver onde está o erro pra poder explorar ele.

1 - Utilize um modo DEBUG: É simples, diferencia o modo de produção com o modo de desenvolvimento. No seu arquivo de configuração global você pode fazer o seguinte:

O conteúdo está oculto, favor efetuar login ou se cadastrar!

E no seu arquivo de requisição padrão:

O conteúdo está oculto, favor efetuar login ou se cadastrar!

Desta forma, com o debug false, pode acontecer qualquer erro de PHP, mas não vai aparecer pro usuário, embora o seu arquivo de log fique cheio, mas é bem melhor assim!

 

2 - Trate os erros! Uma das características dos sistemas atuais é a possibilidade dele se recuperar de erros de forma transparente. Ou seja, de forma que o usuário não saiba que ocorreu um erro, mas o sistema tente fazer a transação novamente e concluir a operação que o usuário solicitou.

3 - Use Try Catch: É um complemento do item 2, é comum fazer funções ou ações sem usar o try catch. Gente ele é nosso amigo, vamos usá-lo (: Vamos exibir somente o que precisa ser exibido para o usuário!

 

Bom, são dicas simples, mas bem importantes para aqueles que estão iniciando na área de desenvolvimento web. Como eu não dei muitos exemplos, tendo o conhecimento do que se trata, é só procurar no Google e por em prática.

Enfim, eu não tive essas dicas, aprendi muita coisa na marra, fiz muitas coisas achando que era certo, mas não era. É importante nos ajudarmos, ensinar um ao outro.

 

Grato pela oportunidade.

Abraços,

Augusto Ferreira

Link para o comentário
Compartilhar em outros sites


um dos melhores topicos sobre desenvolvimento que ja vi no forum, parabens amigo.

faltou falar um pouco sobre formularios, limitação de campos, filtragem de strings nos campos e etc.

é sempre bom ter a segurança do nosso site em dia. :)

 

eu peguei um site aqui na l2jbrasil, mas antes de coloca-lo online tive que fazer DIVERSAS modificações nos scripts, e olha que o site ja é bem atualizado.

a galera tem que aprender muito sobre segurança, pois hoje em dia é mais facil hackear um server pelo SITE do que pela REV, as rev ja estao bem avançadas nas questoes de segurança. (pelo menos as pagas) que eu testei. :)

uma free que eu confio é a DREAM, mas isso ja foge do topico central :D

Te Ajudei? Curte ai para me ajudar!
Ass.: Daniel Amaral

Denky Project Is Coming Soon, Acessem o Site: Denky Project

Link para o comentário
Compartilhar em outros sites

um dos melhores topicos sobre desenvolvimento que ja vi no forum, parabens amigo.

faltou falar um pouco sobre formularios, limitação de campos, filtragem de strings nos campos e etc.

é sempre bom ter a segurança do nosso site em dia. :)

 

eu peguei um site aqui na l2jbrasil, mas antes de coloca-lo online tive que fazer DIVERSAS modificações nos scripts, e olha que o site ja é bem atualizado.

a galera tem que aprender muito sobre segurança, pois hoje em dia é mais facil hackear um server pelo SITE do que pela REV, as rev ja estao bem avançadas nas questoes de segurança. (pelo menos as pagas) que eu testei. :)

uma free que eu confio é a DREAM, mas isso ja foge do topico central :D

É vdd manin, o meu prox topico provavelmente vai ser sobre desempenho do site e servidor dai eu vou abordar um pouco essa questão dos formulários..

Enfim, fico grato pelos comentários.

Abraços

Link para o comentário
Compartilhar em outros sites

Sem duvida o melhor tópico sobre desenvolvimento web, explicação correta e de fácil entendimento. Parabéns, realmente galera aqui ta precisando de um tópico sobre Desempenho Web. Faltou falar sobre url's amigáveis que a galera tem muita dificuldade em esconder seus links e extensões de arquivos na url. Complemente este tópico conteudozinho sobre URL AMIGAVEL

R2d3uef.png

Link para o comentário
Compartilhar em outros sites





×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.