pues lo prometido es deuda, (o algo asi va la frase) xDD el punto es que creo que ya quedó, si aun tu sniffer lo detecta, creo que me quedan un par de trucos bajo la manga haha, mira lo que hace el javascript es mandar los datos al php y luego mostrarlos en pantalla asi sin encriptar, si funciona y el sniffer no detecta los datos genial, si no pues habra que agregar mas lineas al js o probar otra solución, igual te comente un poco el code, aqui el codigo:
Forumulario HTML
Código: Seleccionar todo
<html>
<head>
<script language="JavaScript" type="text/javascript" src="funciones.js"></script>
</head>
<body>
Usuario: <input type="text" name="id" id="user"/>
Pass: <input type="password" name="p" id="p" />
<input name="Login" type="button" id="Login" value="Login" />
<div id="mostrar"></div>
</body>
</html>
Ahi eliminamos el form, porque no lo necesitamos, aca javascript hara todo por nosotros
el PHP debe llamarse pass.php, igual la pag no sera mostrada ni cargada directamente al navegador:
código PHP:
Código: Seleccionar todo
<?php
$usr = $_GET ['id'];//obtenemos los datos con get porque el javascript los envia con ese metodo
$pwd = $_GET ['p'];//podriamos usar $_POST pero se me hace mas incomodo en el js
if (( $usr == "usuario" ) && ( $pwd == "password" ))//comparamos
{
echo "Login Correcto";//si todo va bien mostramos el mensaje y redireccionamos
header("location: http://www.indetectables.net");
}
else
{
echo "Login incorrecto";//si no, que se joda
header("location: login.html?loginfailed=yes");
}
?>
funciones.js (asi debe llamarse el archivo javascript)
Código: Seleccionar todo
//by LInkgl
var conectar;
//Estas funciones son OPCIONALES para simplificar el uso de addEvetnListener o attachEvent
//dependiendo del navegador para que ande en TODOS los navegadores, ojo yo no la invente
// me la aprendi de donde aprendi ajax
function addEvent(elemento,objeto,funcion,boleano)
{
if (elemento.attachEvent)
{
elemento.attachEvent('on'+objeto,funcion);
return true;
}
else
{
if (elemento.addEventListener)
{
elemento.addEventListener(objeto,funcion,boleano);
return true;
}
else
{
return false;
}
}
}
//esta funcion hace lo mismo simplificar para ambos navegadores la peticion de xmlhttp
//porque el puto de ie nos quiere joder la vida y usa un control active, los demas xmlhttprequest
function HttpRequest()
{
var xmlHttp=null;
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
return xmlHttp;
}
//aplicamos la funcion simplificada que al cargar totalmente la pagina inicien las funciones
addEvent(window,'load',inicio,false);
//la primer funcion al presionar el boton login se activa la funcion comparar
function inicio()
{
var dom=document.getElementById('Login');
addEvent(dom,'click',comparar,false);
}
//esta funcion obtiene todos los campos con sus respectivos valores
function comparar()
{
var pass=document.getElementById('p');
var boton=document.getElementById('Login');
var user=document.getElementById('user');
var crypt=pass.value;
//activamos la peticion http
conectar=HttpRequest();
//si el estado cambia o es diferente a 0 iniciamos la funcion dibujar (mostrar los datos)
conectar.onreadystatechange=dibujar;
//abrimos una peticion por http con el metodo GET la pagina en este caso pass.php y los datos en variables
conectar.open('GET','pass.php?p='+crypt+'&id='+user.value,true);
//aqui enviariamos datos si usaramos el metodo $_POST pero me da flojera
conectar.send(null);
}
//aca mostramos en pantalla
function dibujar()
{
if(conectar.readyState==4)//si estamos conectados mostramos la respuesta del php
{
document.getElementById('mostrar').innerHTML=conectar.responseText;
}
else
{
document.getElementById('mostrar').innerHTML='Espere...';//si no mostramos un mensaje de espere para que sea mas profesional xD
}
}
//mHmm..