Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - venadHD

#1
Cita de: geshiro en 25 Octubre 2015, 21:02 PM
porque no usas la varible que asignas del password = sha1(password); asi la encriptas mas facil
Perdería todo el salt que le pongo, ademas de ser sha1 un metodo criptografico obsoleto
#2
Cita de: MinusFour en 24 Octubre 2015, 17:17 PM
Código (php) [Seleccionar]

$query->fetch_assoc();


Es un metodo de MySQLi Result:

http://php.net/manual/en/mysqli-result.fetch-assoc.php

El comportamiento para las hileras en el result set es tal cual describes (cada vez que lo llamas, regresa la siguiente hilera o null si no hay mas hileras para retornar).

Si tienes un result set asi (el resultado de tu query):

miusuario | contraseña | pass


Con fetch_assoc extraes la primera hilera a un arreglo associativo (las llaves son los campos de la tabla) y dejas el result set asi:



Vuelves a hacer fetch_assoc y como no hay siguiente hilera, el resultado es null:

Entonces:
Es el mismo metodo si, pero la funcion muta el estado del result set cada vez que invocas la función. Por lo que en cada invocación, el resultado puede ser distinto.

Edit: De hecho, no estoy seguro si el comportamiento es tal cual así. Es probable que el result set no sea mutado y simplemente dependa de un puntero interno del result set. En ese caso, el puntero simplemente avanza una fila cada que llames a la función.

Probé a hacer eso mediante variable, es decir, sin hacer el llamamiento a la funcion de cada vez, y funcionó, pero, habría alguna forma de no usar una variable?, es decir, aunque llame a la funcion dos veces, que sea el mismo resultado? [es una curiosidad por optimizar, pero bue.. :D {el fantasmita mita mita}]

Código (php) [Seleccionar]
$fassoc = $query->fetch_assoc();
if ($fassoc['**'] == $haspass) {
$_SESSION['**.**'] = $_POST['usuario'];
$_SESSION['**.**'] = $haspass;
$_SESSION['**.**'] = $fassoc['cEmail']);
#3
PHP / Re: [Resuelto] Ejecutar un .bat en php
24 Octubre 2015, 15:32 PM
El 'exec' es compatible con argumentos?, es decir, si le quisieras meter mibat.bat [argumento1] [argumento2] etc etc?
#4
Con la contraseña funciona, por eso digo que no tiene mucho sentido que no lo haga en el email, osea, es el mismo metodo, no?
#5
PHP / MySQL no me muestra el valor? Osea khé?
24 Octubre 2015, 12:45 PM
Esta ultima semana estuve desarrollando un panel de control para unos servidores y al testar la parte de 'Mi cuenta' veo que me sale el usuario, pero no el 'email', y está hecho de la misma forma que el usuario, osea, no entiendo porque no sale

En el proceso de login es donde se asigna la sesion
Código (php) [Seleccionar]
$haspass = //ENCRIPTACION DE CONTRASENA
$db = new mysqli ("", "", "", "");
$query = $db->query("SELECT * FROM usuarios WHERE usuario='".$_POST['usuario']."' LIMIT 1");
if ($query->num_rows > 0) {
if ($query->fetch_assoc()['pswd'] == $haspass) {
$_SESSION['***.***'] = $_POST['usuario'];
$_SESSION['***.***'] = $haspass;
$_SESSION['emailClient'] = $query->fetch_assoc()['email']; //Luego en el siguiente script, no muestra nada
$_SESSION['login'] = true;
$db->close();
unset($db);
logsec();
} else {
$db->close();
unset($db);
logerror("Contraseña incorrecta");
}
} else {
$db->close();
unset($db);
logerror("El usuario no existe");
}


Código (php) [Seleccionar]
<html style="background-color:#eee;">
<head>
<title>Mi cuenta - Cydrio cPanel</title>
<link rel="stylesheet" href="bs3.3.5/css/bootstrap.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body class="container" style="background-color:#eee;">
<?php include('cpanel.header.php'); ?>
<table class='table table-bordered table-hover table-striped'>
<tbody>
<tr>
<td style="width:25%;">Tu usuario</td>
<td style="width:75%;"><?php echo($_SESSION['***.***']); //Esto lo muestra bien 
?>
</td>
</tr>
<tr>
<td>Tu email</td>
<td><?php echo($_SESSION['emailClient']); //Esto ya no 
?>
</td>
</tr>
</tbody>
</table>
</body>
</html>


Puse la depuracion de errores, pero nada, es como si tuviera una string en blanco, he revisado la base de datos por si acaso, y el valor existe 'ejemplo@ejemplo.com'
#6
Solo da en ese script

Uso apache2, sobre una base Linux Debian 7.8 (si mal no recuerdo) y si, mi conexion es estable, sobre eso, ayer le pase un vistazo muy centrado, y averigue este error


Código (php) [Seleccionar]
if ($query['pswd'] == $haspass) {
En vez de haber usado
Código (php) [Seleccionar]
if ($query->fetch_assoc()['pswd'] == $haspass) {

Ya lo tengo solucionado :D, pero gracias a todos por responder :)
#7
Bueno, hoy vengo con un problema que me ocurre unicamente con el codigo de login, ningun otro me tira ese error y no sé por que (algunas veces arranca, con otro usuario y contraseña), pero normalmente tira error 500

Este es el codigo, no sé que error tiene como para que tire HTTP 500

Código (php) [Seleccionar]
<?php
session_start
();
function 
logerror($reason) {
$_SESSION['logerror'] = $reason;
header("Location: login.php");
die(
'Redireccionando...');
}
if (!isset($_POST['usuario']) || !isset($_POST['pswd'])) {
logerror("Falta algun dato");
}
if (strlen(preg_replace("([a-zA-Z0-9.-])"""$_POST['usuario'])) > 0) {
logerror("El usuario no debe contener caracteres no permitidos");
}
if (strlen(preg_replace("([a-zA-Z0-9.-])"""$_POST['pswd'])) > 0) {
logerror("La contraseña no debe contener caracteres no permitidos");
}
if (strlen($_POST['usuario']) < 6) {
logerror("El usuario debe de tener 6 o mas caracteres");
}
if (strlen($_POST['pswd']) < 6) {
logerror("La contraseña debe de tener 6 o mas caracteres");
}
//$haspass = //ENCRIPTACION DE LA CONTRASEÑA MEDIANTE CRYPT();
$db = new mysqli ("localhost""***""***""***");
$query $db->query("SELECT * FROM usrs WHERE usuario='".$_POST['usuario']."'");
if ($query->num_rows 0) {
if ($query['pswd'] == $haspass) {
$db->close();
unset($db);
logerror("Login correcto");
} else {
$db->close();
unset($db);
logerror("Contraseña incorrecta");
}
} else {
$db->close();
unset($db);
logerror("El usuario no existe");
}
?>
#8
PHP / Re: Problema con comandos en SSH desde PHP
6 Octubre 2015, 01:02 AM
Up
#9
PHP / Problema con comandos en SSH desde PHP
30 Septiembre 2015, 23:44 PM
Bueno, quizas esto sea dificil de explicar, pero bueno, alla voy,

Hola antes que nada, despues de tanto tiempo :P

Tengo un servidor de FTP para los usuarios virtuales, y la cosa es que intenté hacer un script para cambiar la contraseña desde el propio cPanel del hosting, pero se ve que no quiere funcionar el cabron

Intenté dos metodos, los cuales estan comentados, pero aun así, no la cambia, sigue siendo la original

Código (php) [Seleccionar]
//$shellConnection = ssh2_connect("185.35.67.76", 22);
//ssh2_auth_password($shellConnection, 'root', '*****');
//PRIMARY METHOD
//$shell=ssh2_shell($shellConnection, 'xterm');
//fwrite( $shell, "pure-pw passwd {$_SESSION['clientusername']}".PHP_EOL);
//fwrite($shell, "$Opass".PHP_EOL);
//fwrite($shell, "$Opass".PHP_EOL);
//fwrite($shell, "pure-pw mkdb".PHP_EOL);
//unset($shell);
//ALTERNATIVE METHOD
//ssh2_exec($shellConnection, "pure-pw passwd {$_SESSION['clientusername']});
//ssh2_exec($shellConnection, "$Opass");
//ssh2_exec($shellConnection, "$Opass");
//ssh2_exec($shellConnection, "pure-pw mkdb");
//ssh2_exec($shellConnection, 'exit');
//unset($shellConnection);


Y si, conecta y tal, hasta con un touch $session['clientusername'] funciona
Pero se ve que ahi no, adjunto foto para que se vea como es el proceso en SSH shell (PuTTY)


Esa pantalla de password seria en el script esta parte, pero se ve que no la reconoce o algo
Código (php) [Seleccionar]

                       //fwrite($shell, "$Opass".PHP_EOL);
//fwrite($shell, "$Opass".PHP_EOL);
//ssh2_exec($shellConnection, "$Opass");
//ssh2_exec($shellConnection, "$Opass");


Pd:$Opass es la contraseña a introducir
#10
Probe a quitar TODO el codigo PHP del archivo desde la etiqueta HTML (TODO) y funcionó, que yo sepa no modifiqué nada, ya que en otros subdominios funciona perfectamente, que extraño...

Osea, la misma configuracion es para el dominio principal que para ese subdominio

Código (php) [Seleccionar]
<?php
session_start
();
$dbConnect = new mysqli("*****""******""*****""*******");
if ($dbConnect->connect_error) {
echo("Error al conectar con la base de datos");
die();
}
$data $dbConnect->query('select * from *****');
while ($i $data->fetch_assoc()) {
if (isset($i['usuario']) && isset($i['contrasena']) && isset($_SESSION['usuario']) && isset($_SESSION['contrasena'])) {
if ($i['contrasena'] == $_SESSION['contrasena'] && $i['usuario'] == $_SESSION['usuario']) {
$logged true;
}
}
}
$dbConnect->close();
?>

<html>

<head>

       <title> Prueba </title>

</head>

<body>


<div class='container'>

<div class='alert alert-success' role='alert'>

<p class='text-center'>Ya estas logeado <b><a href='login.proc.php?logout'>[ Deslogearme ]</a></b></p>

</div>

</div>

</body>

</html>


Y ni con el modo de desarrollo de PHP salta error, que esto es muy extraño..
Código (xml) [Seleccionar]
error_reporting = E_ALL

EDIT, puse el modo desarrolo y el 'display errors'  ;-) ;-) ;-)
Ahora si vi el error:

Parse error: syntax error, unexpected '{' in /var/www/.beta/index.php on line 21

Todo solucionado xD, gracias a YuseTist por hacerme ver que era un error de PHP