Ir para conteúdo
Sistema de Servidores de Jogos ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Posts Recomendados

Segurança no PHP e outras aplicações WEB

Brechas na segurança é um bagulho que está cada vez crescendo mais. Em alguns projetos fica difícil essas coisas pela complexidade do projeto mas deve ter muita atenção na hora de programar, assim como é possível fazer uma certa coisa em uma certa linguagem e de infinitos modos de jeitos também pode ter infinitos tipos de brechas em sistemas. Abaixo Vou deixar uma lista do que não fazer pra evitar ataques.

 

 

1º) Validando dados externos

Alguns dados Externos como GET, POST, SERVER, COOKIE podem ser manipulados via url, extensões...

Existem algumas extensões que recomendo usar caso queira procurar falhas desse tipo(GET,POST e tals), um exemplo de extensão é o Tamper Data(mozila)

mas e agora? como evitar?

Existem filtros no PHP pra evitar esses ataques como

 


$email = "teste@example";

if(filter_var($email, FILTER_VALIDATE_EMAIL)){
echo "Valido";
}


$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text); //retira tags htmlde uma string

OU:


$item = "Zak's and Derick's Laptop";
$item = mysql_real_escape_string($item);
//Nota: mysql_real_escape_string() não escapa % e _.

 

 

2º) Nome da sessão

geralmente o nome padrão da sessão é PHPSESSID, facilitando o hacker, Você pode usar o seguinte código depois de iniciar a sessão para gerar um nome diferente para cada usurário


session_name(md5('seg'.$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']));

 

 

3º) Só o HTTP deve acessar os cookies

Algumas informações devem ser guardadas em cookies de sessão, O atributo session.cookie_httponly permite que os cookies de sessão só possam ser acessados via http, caso contrario até o Javascript pode ler essas informações:


session.cookie_httponly=1;
//no php.ini

 

 

4º) Origem da sessão

É importante que saber se o usuário que está acessando o site é o mesmo que fez login.

Vamos utilizar quase o mesmo sistema de token usado no passo 2:


//quando fizer autentificação
$_SESSION[“dono”] = md5('seg'.$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']);

//validando dados(colocar em todo as paginas, ou criar em uma pagina e dar include)

if($_SESSION[“dono”] != md5('seg'.$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT'])){
//desloga
}

 

 

5º) Ciclo da vida de uma sessão

Supondo que alguém entre no sistema usando cookies, eles terão pouco tempo.

Vamos colocar um tempo limite para cada sessão expirar


session_cache_expire(10); // 10min
session_start();

 

 

6º) Contra crianças

Se um usuário errar a senha 4 ou 5 vezes coloque um Captcha de validação adicional

que vai dificultar um ataque de força bruta

 

 

7º) Como armazenar senhas em um DATABASE

Caso o Hacker consiga acesso ao DB é legal ele não ter acesso as senhas, Armazene senhas criptografadas com SHA-1, MD5(faça uma busca na net para encontra mais)


$senha = md5($senha);

 

 

8º) Upload de Imagem

Validar a extensão de um arquivo não é o suficiente. Com a extensão que falei no tópico(Tamper Data) pode camuflar a extensão de uma arquivo php, executavel.

Verifique a largura e altura da imagem(arquivos php não tem altura e largura)


if($largura=="" || $altura ==""){
echo "Arquivo executavel detectado";
}

 

 

9º) Servidores Compartilhados

Essa eu não vou explicar por ser muito grande, espero que busquem sobre esse assunto no google

 

 

10º) Final

Espero que que ajude os iniciantes como eu a não fazer besteira rsrs

Se for copiar coloques os créditos: I'm Alvejado, Bitch. ou Alvejado.

Link para o comentário
https://www.webcheats.com.br/topic/2217692-seguran%C3%A7a-no-php-e-outras-aplica%C3%A7%C3%B5es-web/
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.