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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Temas
Páginas: 1 2 3 4 5 [6] 7
51  Programación / PHP / Mysql, Php, pdo y goto. en: 29 Diciembre 2013, 02:01 am
Buenas, hasta hace unos días usaba mysql la sintaxis que está obsoleta para PHP. No obstante al leer la documentación que php.net ofrece informaba de que en un futuro, sería eliminado de Php. Y que quedaban como alternativa a ésta, dos opciones. o Mysqli o PDO. Dado que según lo que he leido, y he entendido, Mysqli sólo sirve para bases de datos Mysql, y si en algún momento, decidia cambiar de base de datos, me tocaría cambiar todo el script, cosa que con PDO no.

Finalmente decidí aprender (o hacer intento de aprender) PDO.  Así pues, intenté traducir los scripts que ya tenía, a PDO como buenamente pude.

Total, al grano... yo tenía este script.

Código
  1.  
  2. $con=mysql_connect($host,$user,$pw)or die("Problems with servers. ");  
  3. // Conecta con mysql
  4.  
  5. mysql_select_db($db,$con)or die ("Problems with Data Base");  
  6. // Conecta con la base de datos.
  7.  
  8. $sel=mysql_query("SELECT USER FROM registro",$con);
  9. // Seleciona la columna user.
  10.  
  11. $sesion=mysql_fetch_array($sel);
  12. // Lo almacena en un array.
  13.  
  14. $user = $_POST['user']; // Se almacena en la variable '$user' lo escrito en el formulario anterior.
  15. $userB = $sesion['USER']; // Se almacena en la variabe '$userB' toda la columna user.
  16.  
  17. do { // Ciclo do while
  18.  
  19. $DATO = $sesion['USER']; // Recorre el array
  20.  
  21. }
  22.  
  23. while($sesion= mysql_fetch_array($sel) or $dato === $user); // Hasta que no retorne falso o $dato sea igual a $user no se rompe el ciclo.
  24.  
  25.  
  26. if($user === $DATO){ // Comprueba si la variable user TIENE un valor IGUAL y es del mismo tipo de variable que alguna de las filas de la columna USER.
  27. echo "El usuario ya existe"; // Si la comprobacion retorna True imprime por pantalla que el Usuario existe.
  28.  
  29. }else{
  30.  
  31. // Código si no se cumple la condición bla bla bla...
  32.  
  33. }
  34.  

No obstante, en PDO me atasque, pues no sabía como comparar para saber si el usuario ya existia. Intenté con do while, pero no dejaba argumentando que estaba tratando con arrays y no con strings.

Asi pues la solución más simple, era poner un if en el foreach que fuese recorriendo uno a uno todos los arrays y los comparase. Y una vez los comparase dependiendo del resultado hacer un salto (con salto me refiero a un goto) o seguir con el código.

Código
  1. <?php
  2.  
  3.  
  4. try {
  5.    $con = new PDO('mysql:host=localhost;dbname=pruebas', "root", "XXXXXXX");
  6.    foreach($con->query('SELECT * from pruebas') as $fila) {
  7.  
  8.  
  9. if($fila['USER'] == "Aitor"){
  10.  
  11. goto SALTAR;
  12. }
  13.  
  14.  
  15.    }
  16.  
  17.  
  18.  
  19.  $con->query ("INSERT INTO pruebas (ID,USER)
  20. VALUES ('','Aitor')");
  21.  
  22.  
  23.    $gbd = null;
  24. } catch (PDOException $e) {
  25.    print "¡Error!: " . $e->getMessage() . "<br/>";
  26.    die();
  27. }
  28.  
  29. SALTAR:
  30. echo "Ya existe el usuario";
  31. ?>
  32.  
  33.  

Como podéis ver no es la misma tabla ni base de datos, pero el funcionamiento es el mismo.

No obstante, a lo que quiero llegar, es que seguramente hay una forma más 'fácil' o corta, de comprobar si el usuario que se va a registrar ya esta en la base de datos. Y no tenga que usar el goto para saltarme el codigo en caso de que la comprobación sea correcta.

Un saludo y gracias.
52  Programación / PHP / PHP, y mysql en: 23 Diciembre 2013, 13:45 pm
Hello!

Bueno, primero que nada deciros que no se a dónde va este tema, pues en el foro existe el apartado PHP y el apartado MYSQL, y yo tengo problemas con MYSQL pero dentro de PHP, ¿entonces...? ¡Un dilema!.


Bueno, mi intención es crear un formulario de registro, hasta ahí bien. Esta creada la base de datos, con su respectiva tabla, e introduce los valores en ella sin problema.


Mi problema ahora es, que si el usuario ya existe, lo vuelve a crear... entonces mi intención es arreglar eso.

Esta, es una parte del código

Código
  1. $con=mysql_connect($host,$user,$pw)or die("Problems with servers. ");  
  2. // Conecta con mysql
  3.  
  4. mysql_select_db($db,$con)or die ("Problems with Data Base");  
  5. // Conecta con la base de datos.
  6.  
  7. $sel=mysql_query("SELECT USER FROM registro",$con);
  8. // Seleciona la columna user.
  9.  
  10. $sesion=mysql_fetch_array($sel);
  11. // Lo almacena en un array.
  12.  
  13. $user = $_POST['user']; // Se almacena en la variable '$user' lo escrito en el formulario anterior.
  14. $userB = $sesion['USER']; // Se almacena en la variabe '$userB' toda la columna user.
  15.  
  16. if($user === $userB){ // Comprueba si la variable user TIENE un valor IGUAL y es del mismo tipo de variable que alguna de las filas de la columna USER.
  17. echo "El usuario ya existe"; // Si la comprobacion retorna True imprime por pantalla que el Usuario existe.
  18.  
  19. }else{
  20.  
  21. // codigo.................
  22.  

El problema es que comprueba el primer dato que tiene la tabla.

Me explico, tengo la sentencia SELECT user FROM tabla;

Pero solo trae la primera fila de la columna user, y realiza la comprobacion exclusivamente con la primera.

Había pensado en usar un ciclo do while, y romperlo cuando $sesion=mysql_fetch_array($sel); retornase en falso.

ejemplo de lo que digo;

Código
  1.  
  2.  
  3. do {
  4.  
  5.            $sesion["user"];
  6.  
  7.  
  8.      } while ($sesion= mysql_fetch_array($sel));
  9.  

pero me temo que a partir de aquí me pierdo y no sé como realizar la comprobación con cada una de los users sin hacerlos con todos a la vez.

No sé si me explico

Un saludo y gracias.


53  Programación / PHP / Cursos gratuitos y de pago PHP en: 20 Diciembre 2013, 12:15 pm
Buenos días.

Quería informarme (No sé si estaré en el apartado del foro adecuado) sobre la existencia de cursos PHP gratuitos o de pago en el cual, recibas un diploma o certificado, el cual sirva para un futuro empleo.

No sé si me explico... basicamente lo que busco es un curso de PHP, que tras finazarlo y aprobarlo, me asegure un diploma o certificado, que en un futuro me pueda servir para encontrar un 'trabajo'.

Un saludo y gracias.

54  Seguridad Informática / Hacking / Fuerza bruta en: 10 Octubre 2013, 01:56 am
Muy buenas, os pongo en situación.

Tengo 2 cajas de texto, para acceder a la siguiente página, es necesario cumplir las condiciones de la caja de texto.

Por ejemplo, imaginemos, que existen 9 tipos de usuarios.

xxx1 xxx4 xxx7
xxx2 xxx5 xxx8
xxx3 xxx6 xxx9

Uno de ellos, tiene privilegios sobre la siguiente página, imaginemos, que el 7, pero nosotros no lo sabemos, sólo el nombre de usuario. Nos explican además que la contraseña es un número comprendido entre el 1 y el 100.

Ahora bien, para no estar probando con todos los usuarios, y estar, uno tras uno, escribiendo los números del 1 al 100, decido crear un diccionario.

Ahora bien, mi duda es... ¿Cómo se crea? ¿Qué conocimientos se necesita para crear un diccionario? ¿Y como "unes" el diccionario con el formulario?

No sé si me explico, la idea es que en vez de probar uno por uno con todos usuarios, se haga automáticamente, pero ni sé como crear un diccionario, ni sé como enlazar dicho diccionario, a dichos formularios.

Un saludo y gracias de antemano.
55  Sistemas Operativos / GNU/Linux / Instalar Windows con Linux en: 6 Septiembre 2013, 03:12 am
Buenas, tengo Linux Mint, y backtrack instalados en mi ordenador, el problema, es que decidí, tener instalado un Windows, junto a Mint, quitando backtrack, que es el que menos uso, y mi otro pc también tiene backtrack...

Ahora bien, tengo dos problemas, el primero, es, como quitar la partición de backtrack, y añadir esos GB, a la de mint.

Y el segundo problema, he leido, que cuando instalas windows, al parecer, este, se carga el grub, ¿que tendría que hacer para recuperarlo? Según tengo entendido, lo suyo, sería tener un Live CD de linux (tengo uno de mint por ahí tirado), e instalar el grub en una terminal.

Preguntar también, si perdería los datos que tiene mint, al romperse el grub.

Gracias de antemano.
56  Programación / Programación C/C++ / C++ While (No consigo salir del ciclo) en: 28 Julio 2013, 18:24 pm
Bueno, pues como dice el titulo, algo sucede, que no consigo salir del ciclo

Código
  1. cout << endl << "Escriba /help si necesitas ayuda." << endl;
  2.  
  3. string help;
  4.  
  5. cin >> help;
  6.  
  7. while (help != "/help" || "/informacion" || "/automatico" || "/console"){
  8. cout << endl << help << " no se conoce como un parametro." << endl;
  9. cin >>  help;
  10. }
  11.  
  12. if(help == "/help"){
  13. cout << endl << "- Comandos básicos - " << endl;
  14. cout << "---------------------" << endl;
  15. cout << "/automatico Este comando hará el calculo automáticamente y de forma simple." << endl;
  16. cout << "/console Este comando hará el calculo mediante parámetros. "  << endl;
  17. cout << "/informacion Este comando proporcionará información del creador." << endl;
  18.  
  19. }else if(help == "/informacion"){
  20. cout << "Programa creado por aitor. Gracias por utilizar el programa." << endl;
  21.  
  22. }else{
  23.  
  24. cout << "No funciona" << endl; }
  25.  

Se supone que si escribes algo diferente de esos 4 "parámetros" entras en un ciclo, que te advierte, que no se conoce dicho parámetro, y te vuelve a pedir que escribas bien lo que querías escribir, el problema está que al escribir /help /informacion /atuomatico /console , no sale del ciclo y sigue advirtiendo de que dicho parámetro no se conoce....

Gracias de antemano.
57  Programación / PHP / Problemas de horarios en el servidor. en: 9 Julio 2013, 10:21 am
Buenas.

Estoy intentando mandar un tweet mediante PHP... el caso es que en el localhost (horario GTM +1 madrid) funciona perfectamente, no obstante, a la hora de subirlo a un servidor que tiene como hora estados unidos es decir (GTM -5 ,  6horas de diferencia con respecto al español) el tweet no es enviado, dado que las horas no coinciden....

Este es el código que uso.

Código
  1. <?php
  2.  
  3.  
  4. require('twitteroauth.php'); // libreria
  5. define('_CONSUMER_KEY','datos....'); // consumer key
  6. define('_CONSUMER_SECRET','más datos...'); // consumer secret
  7. define('_OAUTH_TOKEN','datos....'); // access token
  8. define('_OAUTH_TOKEN_SECRET','datos....'); // access token secret
  9.  
  10.  
  11. function getConnectionWithAccessToken() {
  12.  $connection = new TwitterOAuth(_CONSUMER_KEY, _CONSUMER_SECRET,_OAUTH_TOKEN, _OAUTH_TOKEN_SECRET);
  13.  return $connection;
  14. }
  15.  
  16.  
  17. // Ejecutamos la conexión
  18. $connection = getConnectionWithAccessToken();
  19.  
  20. //Publicamos el mensaje en twitter
  21. $mensaje = "Aquí iría el mensaje bla bla bla.";
  22. $twitter= $connection->post('statuses/update', array('status' => $mensaje) );
  23.  
  24.  
  25.  
  26. ?>
  27.  

Perdonad la precaución, dónde pone datos obviamente van los datos asociados a la cuenta...

¿Cómo puedo indicarle al servidor que la hora tiene que ser GTM+1 y no GTM-5?

Gracias de antemano.
58  Programación / Desarrollo Web / Restauración de código. en: 6 Julio 2013, 10:29 am
Buenas, os comento, quería preguntar si alguien sabe si existe alguna forma de restaurar un código HTML/javascript en un determinado día / hora.

Me explico... Mi idea es la siguiente, tengo un formulario que mediante el método post, envía lo que se escribe a otra página. Como tal, tiene vulnerabilidades XSS... Mi idea es convertir eso en una forma de "etrenamiento" para la gente que se quiera pasar y hacer sus barbaridades dentro de la página.

El problema, es el siguiente, no voy a estar a cada rato eliminando el documento que se creo con el .php. No sé si me explico, cuando envias una cadena de caracteres en el formulario, pasa por el PHP, y si la página no existe, la crea... pues si hacen sus barbaridades, es obvio que los próximos usuarios que quieran probar XSS, no podrán por culpa de los anteriores, y yo no me veo capaz de estar a cada hora eliminando o restableciendo el código del documento que se creo.

Entonces la idea era, si existe alguna forma de restablecer ese código en un periodo determinado de tiempo, (lo del tiempo no hace falta pues sé como funciona y condicionarlo).

O otra forma (la cual desconozco y que seguramente exista (se me vino ahora a la cabeza)). Es que el .html que genera el .php se sobrescriba si ya existe.

Es decir, que si el php crea una página (ejemplo.html) y vuelven a reenviar el formulario (ejemplo.html sobrescriba al anterior ejemplo.html de está forma el código volvería a 0).

Gracias de antemano!
59  Comunicaciones / Redes / Convertir PC en servidor WEB. en: 4 Julio 2013, 08:38 am
Buenas, por necesidad de aprender un poco de PHP, me vi obligado a usar un servidor para el propio pc (Xampp), por no estar ingresando en un host, y subir los archivos por FTP cada dos por tres. El caso, es que, me preguntaba, como podría enseñar al público, dicho servidor, y todo lo que hay en él... Desde una red local ya he comprobado que funciona, si meto la dirección IP local (192.168.1.103 en mi caso) ya sea desde el propio ordenador u otro, puedo visualizar el contenido. No obstante, si pongo la dirección IP, no la visualiza.

Entonces, ¿cómo abro el servidor web al público? ¿Qué consecuencias puede llevar? Quiero decir, tengo entendido que te podrían trollear de lo lindo... (en el sentido de seguridad).

Uso GNU/Linux... tampoco he encontrado mucha información acerca de lo que estoy buscando, salvo que por lo visto (y obviamente), como el router cambia la dirección IP, se debería usar una IP estática, para que no dejase de estar en funcionamiento.

Gracias de antemano!
60  Programación / PHP / PHP dentro de javascript. en: 1 Julio 2013, 17:42 pm
¿Alguien podría decirme por qué no se ejecuta el código en el else? (Obviamente el documento es .php).

Código
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <script type="text/javascript">
  6. var ejemplo = "algo";
  7. var ejemplo2 = document.Formulario.ejemplo2.value;
  8.  
  9. if (ejemplo2 != ejemplo){
  10. alert("incorrecto");
  11. }else{
  12. alert ("correcto");
  13. <?php header('Location: ejemplo4.php'); ?>
  14. }
  15. </script>
  16.  
  17. // resto del código, formularios, bla bla bla...
  18. </body>
  19. </html>
  20.  

Esto, obviamente estaría con su formulario... el problema es que cuando metes la "contraseña" que sería "algo" (variable ejemplo). Sólo sale la alerta de correcto, mas no redirecciona a la siguiente página, sí bien sé, que poner php ahí, pudiendo poner un document.location es una bobada, pero no me interesa que vean a dónde va redireccionado, pero si el string que se necesita meter para ser redireccionado...

Realmente no sé si se puede hacer esto, porque como javascript viene del lado del cliente, y php del lado del servidor... en el caso de no poder, habría alguna forma que oculte ese document.location? Probé con encriptadores, pero no me convencen, y algunos ni funcionan.

¡Gracias!
Páginas: 1 2 3 4 5 [6] 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines