elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10
1  Programación / PHP / Re: MySQL no me muestra el valor? Osea khé? en: 25 Octubre 2015, 22:45 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  Programación / PHP / Re: MySQL no me muestra el valor? Osea khé? en: 25 Octubre 2015, 01:04 am
Código
  1. $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):
Código:
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:

Código:

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
  1. $fassoc = $query->fetch_assoc();
  2. if ($fassoc['**'] == $haspass) {
  3. $_SESSION['**.**'] = $_POST['usuario'];
  4. $_SESSION['**.**'] = $haspass;
  5. $_SESSION['**.**'] = $fassoc['cEmail']);
3  Programación / PHP / Re: [Resuelto] Ejecutar un .bat en php en: 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  Programación / PHP / Re: MySQL no me muestra el valor? Osea khé? en: 24 Octubre 2015, 15:30 pm
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  Programación / PHP / MySQL no me muestra el valor? Osea khé? en: 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
  1. $haspass = //ENCRIPTACION DE CONTRASENA
  2. $db = new mysqli ("", "", "", "");
  3. $query = $db->query("SELECT * FROM usuarios WHERE usuario='".$_POST['usuario']."' LIMIT 1");
  4. if ($query->num_rows > 0) {
  5. if ($query->fetch_assoc()['pswd'] == $haspass) {
  6. $_SESSION['***.***'] = $_POST['usuario'];
  7. $_SESSION['***.***'] = $haspass;
  8. $_SESSION['emailClient'] = $query->fetch_assoc()['email']; //Luego en el siguiente script, no muestra nada
  9. $_SESSION['login'] = true;
  10. $db->close();
  11. unset($db);
  12. logsec();
  13. } else {
  14. $db->close();
  15. unset($db);
  16. logerror("Contraseña incorrecta");
  17. }
  18. } else {
  19. $db->close();
  20. unset($db);
  21. logerror("El usuario no existe");
  22. }

Código
  1. <html style="background-color:#eee;">
  2. <head>
  3. <title>Mi cuenta - Cydrio cPanel</title>
  4. <link rel="stylesheet" href="bs3.3.5/css/bootstrap.min.css">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. </head>
  7. <body class="container" style="background-color:#eee;">
  8. <?php include('cpanel.header.php'); ?>
  9. <table class='table table-bordered table-hover table-striped'>
  10. <tbody>
  11. <tr>
  12. <td style="width:25%;">Tu usuario</td>
  13. <td style="width:75%;"><?php echo($_SESSION['***.***']); //Esto lo muestra bien
  14. ?></td>
  15. </tr>
  16. <tr>
  17. <td>Tu email</td>
  18. <td><?php echo($_SESSION['emailClient']); //Esto ya no
  19. ?></td>
  20. </tr>
  21. </tbody>
  22. </table>
  23. </body>
  24. </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  Programación / PHP / Re: 500 internal error al ejecutar un script? en: 24 Octubre 2015, 12:32 pm
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
  1. if ($query['pswd'] == $haspass) {
En vez de haber usado
Código
  1. if ($query->fetch_assoc()['pswd'] == $haspass) {

Ya lo tengo solucionado :D, pero gracias a todos por responder :)
7  Programación / PHP / [Resuelto] 500 internal error al ejecutar un script? en: 23 Octubre 2015, 19:50 pm
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
  1. <?php
  2. function logerror($reason) {
  3. $_SESSION['logerror'] = $reason;
  4. header("Location: login.php");
  5. die('Redireccionando...');
  6. }
  7. if (!isset($_POST['usuario']) || !isset($_POST['pswd'])) {
  8. logerror("Falta algun dato");
  9. }
  10. if (strlen(preg_replace("([a-zA-Z0-9.-])", "", $_POST['usuario'])) > 0) {
  11. logerror("El usuario no debe contener caracteres no permitidos");
  12. }
  13. if (strlen(preg_replace("([a-zA-Z0-9.-])", "", $_POST['pswd'])) > 0) {
  14. logerror("La contraseña no debe contener caracteres no permitidos");
  15. }
  16. if (strlen($_POST['usuario']) < 6) {
  17. logerror("El usuario debe de tener 6 o mas caracteres");
  18. }
  19. if (strlen($_POST['pswd']) < 6) {
  20. logerror("La contraseña debe de tener 6 o mas caracteres");
  21. }
  22. //$haspass = //ENCRIPTACION DE LA CONTRASEÑA MEDIANTE CRYPT();
  23. $db = new mysqli ("localhost", "***", "***", "***");
  24. $query = $db->query("SELECT * FROM usrs WHERE usuario='".$_POST['usuario']."'");
  25. if ($query->num_rows > 0) {
  26. if ($query['pswd'] == $haspass) {
  27. $db->close();
  28. unset($db);
  29. logerror("Login correcto");
  30. } else {
  31. $db->close();
  32. unset($db);
  33. logerror("Contraseña incorrecta");
  34. }
  35. } else {
  36. $db->close();
  37. unset($db);
  38. logerror("El usuario no existe");
  39. }
  40. ?>
8  Programación / PHP / Re: Problema con comandos en SSH desde PHP en: 6 Octubre 2015, 01:02 am
Up
9  Programación / PHP / Problema con comandos en SSH desde PHP en: 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
  1. //$shellConnection = ssh2_connect("185.35.67.76", 22);
  2. //ssh2_auth_password($shellConnection, 'root', '*****');
  3. //PRIMARY METHOD
  4. //$shell=ssh2_shell($shellConnection, 'xterm');
  5. //fwrite( $shell, "pure-pw passwd {$_SESSION['clientusername']}".PHP_EOL);
  6. //fwrite($shell, "$Opass".PHP_EOL);
  7. //fwrite($shell, "$Opass".PHP_EOL);
  8. //fwrite($shell, "pure-pw mkdb".PHP_EOL);
  9. //unset($shell);
  10. //ALTERNATIVE METHOD
  11. //ssh2_exec($shellConnection, "pure-pw passwd {$_SESSION['clientusername']});
  12. //ssh2_exec($shellConnection, "$Opass");
  13. //ssh2_exec($shellConnection, "$Opass");
  14. //ssh2_exec($shellConnection, "pure-pw mkdb");
  15. //ssh2_exec($shellConnection, 'exit');
  16. //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
  1.  
  2.                        //fwrite($shell, "$Opass".PHP_EOL);
  3. //fwrite($shell, "$Opass".PHP_EOL);
  4. //ssh2_exec($shellConnection, "$Opass");
  5. //ssh2_exec($shellConnection, "$Opass");

Pd:$Opass es la contraseña a introducir
10  Programación / PHP / Re: index.php no se muestra, a pesar de mostrarse bien antes en: 6 Septiembre 2015, 16:53 pm
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
  1. <?php
  2. $dbConnect = new mysqli("*****", "******", "*****", "*******");
  3. if ($dbConnect->connect_error) {
  4. echo("Error al conectar con la base de datos");
  5. die();
  6. }
  7. $data = $dbConnect->query('select * from *****');
  8. while ($i = $data->fetch_assoc()) {
  9. if (isset($i['usuario']) && isset($i['contrasena']) && isset($_SESSION['usuario']) && isset($_SESSION['contrasena'])) {
  10. if ($i['contrasena'] == $_SESSION['contrasena'] && $i['usuario'] == $_SESSION['usuario']) {
  11. $logged = true;
  12. }
  13. }
  14. }
  15. $dbConnect->close();
  16. ?>
  17. <html>
  18.  
  19. <head>
  20.  
  21.        <title> Prueba </title>
  22.  
  23. </head>
  24.  
  25. <body>
  26.  
  27.  
  28. <div class='container'>
  29.  
  30. <div class='alert alert-success' role='alert'>
  31.  
  32. <p class='text-center'>Ya estas logeado <b><a href='login.proc.php?logout'>[ Deslogearme ]</a></b></p>
  33.  
  34. </div>
  35.  
  36. </div>
  37.  
  38. </body>
  39.  
  40. </html>

Y ni con el modo de desarrollo de PHP salta error, que esto es muy extraño..
Código
  1. error_reporting = E_ALL

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

Código:
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
Páginas: [1] 2 3 4 5 6 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines