Ir ao conteúdo

bloquear Anti SqlInjection


Freud729

Posts recomendados

Postado

Olá,

estou com um problema aqui... queria bloquear acessos com strings e tags neste login.... mas nao estou conseguindo...

alguem pode da uma ajuda aí???

segue o código....

<?

include "../config.php";

if ($acao == "sair") {

$_SESSION[nome] = "";

$_SESSION[nome] = "";

echo "<script>window.location='index.php';</script>";

}

$sql = mysql_query("SELECT * FROM administracao WHERE nome='$_POST[nome]' AND pass='$_POST[pass]'");

if (!@mysql_result($sql,0,nome)) {

echo "<script>window.location='index.php?erro=sim';</script>";

} else {

$_SESSION[nome] = mysql_result($sql,0,nome);

$_SESSION[nome] = $_POST[nome];

mysql_query("UPDATE administracao SET data='".date("d/m/Y")." - ".date("H:i")."' WHERE nome='$_POST[nome]' AND pass='$_POST[pass]'");

echo "<script>window.location='index.php';</script>";

}

mysql_close();

?>

Postado

Olá Freud729,

Tente colocar um mysql_real_escape_string() na variável de usuário e senha antes da query do SELECT que resolve o problema.

Ex.:


<?php
include "../config.php";
$nome = $_POST['nome];
$pass = $_POST['pass'];

//aqui você usa a expressão
$nome = mysql_real_escape_string($nome);
$pass = mysql_real_escape_string($pass);

?>

Dicas:

1) Crie variáveis antes para poder tratá-las, não as use diretamente no comando sql, além de ficar pouco legível dificulta fazer qualquer tratamento.

2)if ($acao == "sair") { <--- Não sei se você iniciou a session no include, mas se não iniciou esse logout não vai funcionar, e mesmo que funcione não é um código muito otimizado, grave um array vazio $_SESSION = array() para liberar espaço de alocação e em seguida session_destroy para destruir a sessão, faça isso ao invés de gravar valores vazios nela.

Espero ter ajudado.

Abraços.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...