Ir para conteúdo

POWERED BY:

Arquivado

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

willwalker

Login em ajax, erro de segurança.

Recommended Posts

Tenho o seguinte código java script:

 

function createObject() {
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}else{
request_type = new XMLHttpRequest();
}
return request_type;
}

var http = createObject();

var nocache = 0;

function login() {

document.getElementById('login_response').innerHTML = "Carregando..."

var email = encodeURI(document.getElementById('email').value);
var senha = encodeURI(document.getElementById('senha').value);

nocache = Math.random();

http.open('GET', 'login.php?email='+email+'&senha='+senha+'&nocache='+nocache);
http.onreadystatechange = loginReply;
http.send(null);

}

function loginReply() {

if(http.readyState == 4){
var response = http.responseText;

if(response == 0){
document.getElementById('login_response').innerHTML = 'Erro ao logar! Você não tem permissão ou seu usuário/senha estão errados.';
} else {
document.getElementById('login_response').innerHTML = response;
setInterval("window.location.href = 'admin.php'", 3000);
}
}
}

Caso necessário aqui tambem está o login.php:

 

<?php
include('../conexao.php');
if(isset($_GET['email']) && isset($_GET['senha'])){

	$email = $_GET['email'];
	$senha = $_GET['senha'];
	
	$sql = mysql_query("SELECT * FROM clientes WHERE email = '$email' AND senha = '$senha' AND tipo = 'admin'");
	$rss = mysql_fetch_assoc($sql);
	$cnt = mysql_num_rows($sql);
	
	if($cnt < 1){
		echo '0';
		}else{
			echo "Bem vindo ".$rss['nome']." ".$rss['sobrenome'].".<br />";
			echo "Você está sendo redirecionado.<br />";
			echo "<img src='layout/loader.gif' />";
			}
}

?>

Como faço para que o admin.php só seja visualizado se foi redirecionado por esse javascript ? Porque ele faz a verificação e depois redireciona, mas qualquer pessoa pode ir direto no admin.php sem efetuar login. Tem como fazer algum script que verifique que ele está sendo redirecionado porque efetuou o login corretamente ?

 

Abraços Walker http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não.

Teria como você checar o referer (sendo esse onde esse javascript se encontra),mas isso é bem falho (nem preciso dizer o por que...).

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo isso já é outra conversa

 

você tem de usar as sessions do php para que se nao estiver logado ele faca um redirect para o login

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro que tem jeito de você mandar informações por javascript...

 

Use o método open do seu objeto Ajax com o método POST...

 

crie uma query string ("nome=nome_usuario&senha=senha") e passe isso pelo método send:

 

http.send("nome=nome_usuario&senha=senha");

Pra receber no PHP, é só proceder normalmente:

 

$_POST["nome"]
$_POST["senha"]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem, eu gostaria de fazer o envio do email e senha por aqui setInterval("admin.php?email="+email+"&senha="+senha, 3000);:

 

if(response == 0){
document.getElementById('login_response').innerHTML = 'Erro ao logar! Você não tem permissão ou seu usuário/senha estão errados.';
} else {
document.getElementById('login_response').innerHTML = response;
setInterval("admin.php?email="+email+"&senha="+senha, 3000);
}
}
}

Porque no login ele mostra uma mensagem e gostaria que executasse isso em 3 segundos...

Se alguem puder fazer isso funcionar e enviando por método post para esse arquivo, fico muto grato. Eu só entendo de PHP jacascript pra mim é só o basico para alert, confirm e outras coisinhas bem simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo no seu caso q disse que nao entende muita coisa de javascript, te aconselho a fazer isso com a framework jquery. Ficaria moleza pra entender e fazer. Digo isso pq o meu caso é semelhante ao seu e começei a me interessar por javascript por causa do jquery que é muito didático. Caso se interesse me add no msn: drp_df@yahoo.com.br

 

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.