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

 

 


Tema destacado:


  Mostrar Temas
Páginas: 1 [2] 3 4
11  Seguridad Informática / WarZone / Problema Warzone en: 8 Mayo 2012, 14:23 pm
Tenía 37 puntos y hacía tiempo que no jugaba, me ha dado por meterme a pasarme una prueba y le ha tocado al reto de google. Lo he conseguido pasar (no lo tenía completado) y cuando le he dado la puntuación me ha salido que ya lo tenía hecho cuando esto no era así. Ahora me pone que la prueba está superada y no tengo manera alguna de subir la puntuación.

Algún admin que ayude a solucionarlo?

Un saludo Runex
12  Seguridad Informática / Desafíos - Wargames / Propuestas retos, wargame en: 5 Mayo 2012, 20:39 pm
Buenas compañeros, como ya postee en el tema de PHP, me había animado a crear mi propia web con retos a lo "warzone" (aunque ni parecerse vamos xD) en el poco tiempo que me ofrecen los exámenes y la selectividad. Y bueno, me he planteado 4 retos, de los cuales están acabados 3, y no se me ocurría nada así especial, por eso necesito ayuda :).

Postead los retos que se os ocurran y no dudaré en implementarlos.

Muchas gracias compañeros :)

http://wargame.byethost9.com/
13  Programación / Desarrollo Web / Problema panel de logueo en: 4 Mayo 2012, 13:34 pm
Buenas compañeros, me ha surgido otro error, el caso, es que quiero realizar un panel de logueo y si el usuario existe crear una cookie con sus datos, de lo contrario que salte un script diciendo que no existe el usuario.

He hecho esto:
Código
  1. <?php
  2. $usuario = $_POST["user"];
  3. $pasword = $_POST["pass"];
  4. $consultados = 0;
  5. $conect = mysql_connect("***","***","***") or die("Problemas en la db");
  6. mysql_select_db("****") or die("Problemas en a tabla");
  7. $consulta = mysql_query("select nombre,password from usuarios where nombre='$usuario' and password='$password'") or die("Problemas en la consulta");
  8. while($reg = mysql_fetch_array($consulta))
  9. {
  10. $consultados = $consultados + 1;
  11. if($reg['nombre']=$usuario and $reg['password']=$password)
  12. {
  13. setcookie("Usuario",$usuario);
  14. }
  15. else
  16. {
  17. ?>
  18. <script type="text/javascript" >
  19. alert("No existe el usuario");
  20. </script>
  21. <?php
  22. }
  23. }
  24.  
  25. ?>

Sin embargo no me reconoce nada, ni llega a saltar script, ni crea la cookie.
Encontráis algún error lógico? :S

Gracias :)
14  Programación / Desarrollo Web / Error PHP en: 3 Mayo 2012, 12:18 pm
Compañeros, no consigo localizar el problema en el código, me salta error, os lo dejo a ver si me echais una mano:

Código
  1. <?php
  2. if (isset($_POST["user"]) and isset($_POST["pass"]))
  3. {
  4.  $conect = mysql_connect("","","") or die("Problemas en la db");
  5. mysql_select_db("b9_10627635_wargames") or die("Problemas en a tablaa");
  6. $consulta = mysql_query("insert into usuarios(nombre,password) values('$_POST["user"]','$_POST["pass"]')") or die("Problemas en la consulta"
15  Programación / Desarrollo Web / Wargames By Rune en: 2 Mayo 2012, 21:15 pm
Buenas compañeros, aprovechando que estoy de exámenes y vuelvo a las 11 y media a mi casa, he iniciado un proyecto de wargames por mi cuenta. De momento la página está digamos en estado fetal xD, pero bueno por algo se empieza y en cuanto saque un poco de tiempo la iré completando.

Faltan algunas cosas por implementar, como el registro, el logueo, sistema de cookies etc pero lo más costoso lo he dejado para el final.

Os lo dejo aquí, y espero que os guste:

http://wargame.byethost9.com/

Un saludo :)
16  Comunicaciones / Redes / Redireccionar llamadas en: 30 Abril 2012, 20:17 pm
Buenas compañeros, no sé si este tema irá aquí, pero no he encontrado ningún sitio 'más relacionado.
El caso es que mi profesor de tecnología, hace una cosa curiosa para entregar las notas.

Crea una base de datos MySql con los nombres, fecha de nacimiento y notas finales. Para saberla, se debe llamar a un número fijo con el prefijo de la comunidad 96139..., la llamada se redirecciona a su  Pc, y un sintetizador de voz, te pide la fecha de nacimiento, tu la dices, y en función de la fecha se realiza una consulta al servidor, para que devuelva los datos, osea ser mi nota. Todo ello emulado desde una maquina virtual, supongo VirtualBox, con S.O RedHat.

Quería saber, que utilidades se requieren para ello, porque vale realizar las query desde una consola de comandos con texto es fácil, pero interpretarla con la voz, leer los registros de la db y redireccionar la llamada a su servidor, es un poco jodido no?. ¿Puede ser que utilice DialPlan con MySql?

Espero vuestras respuestas, Un saludo  ;-)
17  Programación / Programación C/C++ / Ordenación burbuja en: 28 Abril 2012, 01:35 am
Buenas compañeros, estoy empezando otra vez con C++, me he acostumbrado a Python y se me está atascando  :-\.

Este es el código que llevo escrito:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int array[10],x=0,acumulador,y=0,z=0;
  7. while (x<10)
  8. {
  9. cin>>array[x];
  10. x = x + 1;
  11. }
  12. while (y<10)
  13. {
  14. if (array[y]>array[y+1])
  15. {
  16. acumulador = array[y];
  17. array[y] = array[y+1];
  18. array[y+1] = acumulador;
  19. y = y + 1;
  20. }
  21. }
  22. while (z<10)
  23. {
  24. cout<<array[z];
  25.                z = z + 1;
  26. }
  27. return 0;
  28. }

En la primera parte, donde se introducen los 10 números para el array, a pesar de que aumento la variable de bucle, nunca para de pedir dígitos :S.

Un saludo :)
18  Programación / Scripting / [Python] Cliente Ftp Tkinter en: 15 Abril 2012, 00:16 am
Buenas compañeros, me ha dado por aplicarle interfaz a un viejo programa que cree, un cliente ftp.
Aún le faltan algunas cosas como una opción para retroceder de directorio y otra para subir archivos. Algún día de estos lo añadiré que me voy a la cama :).
Os recomiendo que lo guardéis en .pyw así no se ejecuta por detrás la ventana de comandos.
EDIT: Le he añadido nuevas opciones, la posibilidad de abrir nuevas más clientes en diferentes ventanas, guardar registros de tus movimientos en un txt, subir archivos y cerrar la conexión limpiando directorios y archivos, ahora cuando tenga tiempo le añado, la de retroceder, renombrar y eliminar, y con eso finalizaré :).

EDIT2: Bueno ya le he añadido las opciones que le faltaban y en mi opinión ya está terminado. Si encontráis algún bug, reportadmelo y lo corrijo gustosamente :)

Os dejo el código:

Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-    
  3. #Copyright 2012 jose <jose@jose-desktop>
  4. from Tkinter import *
  5. import ftplib,tkMessageBox
  6. class Ftp_Client:
  7.  
  8. def __init__(self,root):
  9. self.root = root
  10. self.root.title("ClientFtp")
  11. self.top=Menu(self.root)
  12. self.root.config(menu=self.top)
  13. self.file = Menu(self.top)
  14. self.about = Menu(self.top)
  15. self.about.add_command(label="Sobre mi",command=self.informacion,underline=0)
  16. self.file.add_command(label="Abrir nueva ventana",command=self.ventana_x,underline=0)
  17. self.file.add_command(label="Cerrar conexion",command=self.close_conection,underline=0)
  18. self.file.add_command(label="Registro en txt",command=self.guardar_txt,underline=0)
  19. self.top.add_cascade(label="File",menu=self.file)
  20. self.top.add_cascade(label="About",menu=self.about)
  21. self.root.configure(bg="black")
  22. self.root.maxsize("700","550")
  23. self.root.minsize("700","550")
  24. self.url = StringVar()
  25. self.listadescarga = []
  26. self.listasubida = []
  27. self.listaeliminados = []
  28. self.listanombres = []
  29. self.listarenombres = []
  30. self.directorio = StringVar()
  31. Label(self.root,fg="green",bg="black",text="Introduce tu servidor Ftp",justify="center",font=("Helvetica",18)).grid(padx=200)
  32. self.entrada = Entry(self.root,width="40",textvariable=self.url)
  33. self.entrada.grid(pady=15)
  34. self.conectar = Button(self.root,text="Conectar",command=self.conect_Ftp)
  35. self.conectar.grid(pady=15)
  36. Label(self.root,fg="green",bg="black",text="Directorios",font=("Helvetica",16)).grid(pady=15)
  37. self.listbox = Listbox(self.root,width="60")
  38. self.listbox.grid(row=4,column=0)
  39. self.directorios = Entry(self.root,textvariable=self.directorio,width="30")
  40. self.directorios.grid(pady=15)
  41. self.download = Button(self.root,text="Download",command=self.panel_descarga)
  42. self.download.grid(row=7)
  43. self.delete = Button(self.root,text="Eliminar",command=self.eliminar)
  44. self.delete.grid(row=7,padx=465,columnspan=500)
  45. self.avanzar = Button(self.root,text="Avanzar",command=self.avanzar)
  46. self.avanzar.grid(row=6,column=0,padx=380,columnspan=270)
  47. self.renombrar = Button(self.root,text="Rename",command=self.rename)
  48. self.renombrar.grid(row=6,padx=380,columnspan=750)
  49. self.retroceder = Button(self.root,text="Retroceder",command=self.retroceder)
  50. self.retroceder.grid(row=6,pady=10)
  51. self.upload = Button(self.root,text="Upload",command=self.panel_subida)
  52. self.upload.grid(row=7,column=0,padx=290,columnspan=260)
  53.  
  54. def conect_Ftp(self):
  55. try:
  56. self.conectftp = ftplib.FTP(self.entrada.get())
  57. self.window = Tk()
  58. self.window.maxsize("300","280")
  59. self.window.minsize("300","280")
  60. self.window.title("Conectar Con Servidor")
  61. self.window.configure(bg="black")
  62. Label(self.window,fg="green",bg="black",text="Panel de Logueo",font=("Helvetica",15)).grid(padx=70)
  63. self.user = StringVar()
  64. self.password = StringVar()
  65. Label(self.window,fg="green",bg="black",text="Usuario").grid(pady=10)
  66. self.usuario = Entry(self.window,width="20",textvariable=self.user)
  67. self.usuario.grid(pady=10)
  68. Label(self.window,fg="green",bg="black",text="Password").grid(pady=10)
  69. self.enpassword = Entry(self.window,width="20",textvariable=self.password)
  70. self.enpassword.grid(pady=10)
  71. self.logueo = Button(self.window,text="Loguear",command=self.log_Ftp)
  72. self.logueo.grid(pady=15)
  73. self.window.mainloop()
  74. except:
  75. tkMessageBox.showinfo("Error","No existe el servidor")
  76.  
  77. def log_Ftp(self):
  78. try:
  79. self.conectftp.login(self.usuario.get(),self.enpassword.get())
  80. self.datos = [self.usuario.get(),self.enpassword.get()]
  81. self.window.destroy()
  82. self.listar_directorios()
  83. except:
  84. tkMessageBox.showinfo("Error","User y Pass Incorrectos")
  85.  
  86. def listar_directorios(self):
  87. self.listbox.delete(0,END)
  88. self.listadir = []
  89. self.listbox.insert(END,"----Directorios----")
  90. for self.directorio in self.conectftp.nlst():
  91. self.listbox.insert(END,self.directorio)
  92. self.listadir.append(self.directorio)
  93.  
  94. def avanzar(self):
  95. try:
  96. self.conectftp.cwd(self.directorios.get())
  97. self.listar_directorios()
  98. except:
  99. tkMessageBox.showinfo("Error","No existe el directorio")
  100.  
  101. def panel_descarga(self):
  102. self.paneldescarga = Tk()
  103. self.paneldescarga.maxsize("300","200")
  104. self.paneldescarga.minsize("300","200")
  105. self.paneldescarga.title("Download")
  106. self.paneldescarga.configure(bg="black")
  107. Label(self.paneldescarga,text="Introduce el nombre para guardar el archivo",bg="black",fg="green").grid(pady=10)
  108. self.nombre = StringVar()
  109. self.nombreguardado = Entry(self.paneldescarga,textvariable=self.nombre)
  110. self.nombreguardado.grid(pady=10)
  111. self.guardar = Button(self.paneldescarga,text="Guardar",command=self.descarga)
  112. self.guardar.grid(pady=10)
  113. self.paneldescarga.mainloop()
  114. def descarga(self):
  115. try:
  116. self.listadescarga.append(self.directorios.get())
  117. self.archivolocal = open(self.nombreguardado.get(),'wb')
  118. except:
  119. tkMessageBox.showinfo("Error","No se ha podido guardar el archivo")
  120. self.paneldescarga.destroy()
  121. try:
  122. self.conectftp.retrbinary('RETR '+self.directorios.get(),self.archivolocal.write)
  123. self.paneldescarga.destroy()
  124. except:
  125. tkMessageBox.showinfo("Error","No existe el archivo")
  126.  
  127. def informacion(self):
  128. tkMessageBox.showinfo("Sobre Mi","ClienteFtp 1.0 By Rune, alumno de 2 bachiller en el centro EPLA de valencia")
  129.  
  130. def ventana_x(self):
  131. self.root2 = Tk()
  132. self.instancia = ventana_2(self.root2)
  133.  
  134. def guardar_txt(self):
  135. try:
  136. self.archivodatos = open("Backup"+self.entrada.get()+".txt","a")
  137. self.archivodatos.write("-------------------------------------------\n")
  138. self.archivodatos.write("Conexion con: "+self.entrada.get()+"\n")
  139. self.archivodatos.write("Usuario--->" +self.datos[0] +"\n")
  140. self.archivodatos.write("Password--->" + self.datos[1] + "\n")
  141. self.archivodatos.write("---Directorios Visualizados Del Servidor---\n")
  142. for self.direct in self.listadir:
  143. self.archivodatos.write(self.direct+"\n")
  144. self.archivodatos.write("\n---Archivos Descargados---\n")
  145. for self.archiv in self.listadescarga:
  146. self.archivodatos.write(self.archiv + "\n")
  147. self.archivodatos.write("\n---Archivos Subidos---\n")
  148. for self.archivo in self.listasubida:
  149. self.archivodatos.write(self.archivo + "\n")
  150. self.archivodatos.write("\n---Archivos Renombrados---\n")
  151. for self.nombre in self.listanombres:
  152. self.archivodatos.write(self.nombre)
  153. for self.renombre in self.listarenombres:
  154. self.archivodatos.write("----->"+self.renombre+"\n")
  155. self.archivodatos.write("\n---Archivos Eliminados---\n")
  156. for self.eliminado in self.listaeliminados:
  157. self.archivodatos.write(self.eliminado)
  158. self.archivodatos.close()
  159. except:
  160. tkMessageBox.showinfo("Error","Compruebe que ha inicializado alguna conexion")
  161.  
  162. def panel_subida(self):
  163. self.panelsubida = Tk()
  164. self.panelsubida.maxsize("350","200")
  165. self.panelsubida.minsize("350","200")
  166. self.panelsubida.title("Upload")
  167. self.panelsubida.configure(bg="black")
  168. Label(self.panelsubida,text="Introduce el nombre del archivo junto con su directorio",bg="black",fg="green").grid(pady=10)
  169. self.nombrex = StringVar()
  170. self.nombrex2 = StringVar()
  171. self.nombreguardados = Entry(self.panelsubida,textvariable=self.nombrex)
  172. self.nombreguardados.grid(pady=10)
  173. Label(self.panelsubida,text="Introduce el nombre para guardar el archivo",bg="black",fg="green").grid(pady=10)
  174. self.nombresubir = Entry(self.panelsubida,textvariable=self.nombrex2)
  175. self.nombresubir.grid(pady=10)
  176. self.subir = Button(self.panelsubida,text="Subir",command=self.subida)
  177. self.subir.grid(pady=10)
  178. self.panelsubida.mainloop()
  179.  
  180. def subida(self):
  181. try:
  182. self.archivo_origen = open(self.nombreguardados.get(),"rb")
  183. except:
  184. tkMessageBox.showinfo("Error","El archivo no existe")
  185. try:
  186. self.conectftp.storbinary('STOR ' + self.nombresubir.get(),self.archivo_origen)
  187. self.listar_directorios()
  188. except:
  189. tkMessageBox.showinfo("Error","No se ha podido subir el archivo")
  190. self.listasubida.append(self.nombreguardados.get())
  191. self.panelsubida.destroy()
  192.  
  193. def close_conection(self):
  194. try:
  195. self.conectftp.close()
  196. self.listbox.delete(0,END)
  197. except:
  198. tkMessageBox.showinfo("Error","Compruebe que ha inicializado una conexion")
  199. def retroceder(self):
  200. try:
  201. self.conectftp.cwd("..")
  202. self.listar_directorios()
  203. except:
  204. tkMessageBox.showinfo("Error","Compruebe que ha inicializado una conexion")
  205. def rename(self):
  206. self.window_rename = Tk()
  207. self.window_rename.configure(bg="black")
  208. self.window_rename.title("Rename")
  209. Label(self.window_rename,text="Introduce el nombre para renombrar",bg="black",fg="green").grid()
  210. self.renombre = StringVar()
  211. self.renombrar = Entry(self.window_rename,textvariable=self.renombre)
  212. self.renombrar.grid()
  213. self.acept = Button(self.window_rename,text="Renombrar",command=self.ejec_rename)
  214. self.acept.grid()
  215.  
  216. def ejec_rename(self):
  217. self.fromname = self.directorios.get()
  218. self.toname = self.renombrar.get()
  219. try:
  220. self.conectftp.rename(self.fromname,self.toname)
  221. self.listanombres.append(self.fromname)
  222. self.listarenombres.append(self.toname)
  223. self.listar_directorios()
  224. except:
  225. tkMessageBox.showinfo("Error","No existe el archivo")
  226. self.window_rename.destroy()
  227.  
  228. def eliminar(self):
  229. try:
  230. self.conectftp.delete(self.directorios.get())
  231. self.listaeliminados.append(self.directorios.get())
  232. self.listar_directorios()
  233. except:
  234. tkMessageBox.showinfo("Error","No existe el archivo")
  235.  
  236.  
  237. class ventana_2(Ftp_Client):
  238. pass
  239.  
  240. if __name__ == "__main__":
  241. root = Tk()
  242. instance = Ftp_Client(root)
  243. root.mainloop()
  244.  
  245.  

Un saludo :)
19  Programación / Scripting / Libros de Bash en español? en: 11 Abril 2012, 12:59 pm
Buenas compañeros :).

Estoy hinchado de leer tutoriales web sobre bash, y me apetece leerme un buen libro sobre éste, por casualidad no sabréis de alguno que esté interesante?.

Eso es todo, gracias y saludos :)
20  Programación / Scripting / [Python] [Juego] Sumas rápidas en: 11 Abril 2012, 02:00 am
Bueno un compañero ha posteado en la sección de wargames un pequeño juego para realizar sumas,y al verlo me entraron ganas de hacerlo con GUI. Y nada aquí está el resultado, espero que os guste :)

Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. from Tkinter import *
  4. import random
  5.  
  6. class sumasrapidas:
  7.  
  8. def __init__(self,root,vidas):
  9. self.num1 = IntVar()
  10. self.vidas = vidas
  11. self.numerox1 = random.randint(0,50)
  12. self.numerox2 = random.randint(0,50)
  13. self.root = root
  14. self.root.configure(background="black")
  15. self.root.title("Juego")
  16. self.root.maxsize("190","145")
  17. self.root.minsize("190","145")
  18. Label(self.root,text="Sumas Rapidas",bg="black",fg="green").grid(row=0,column=3)
  19. self.numero1 = Entry(self.root,textvariable=self.num1)
  20. self.aceptar = Button(self.root,text="Aceptar",command=self.suma,fg="green",bg="black")
  21. self.numero1.grid(row=1,column=3)
  22. self.aceptar.grid(row=2,column=3)
  23. Label(self.root,text=str(self.numerox1) + "+" + str(self.numerox2),bg="black",fg="green").grid(row=3,column=3)
  24.  
  25. def suma(self):
  26. if int(self.numero1.get()) == self.numerox1 + self.numerox2:
  27. Label(self.root,text="Correcto",bg="black",fg="green").grid(row=4,column=3)
  28. Label(self.root,text="Tienes " + str(self.vidas) + " vidas",bg="black",fg="green").grid(row=5,column=3)
  29. else:
  30. Label(self.root,text="Incorrecto",bg="black",fg="green").grid(row=4,column=3)
  31. self.vidas -= 1
  32. Label(self.root,text="Tienes " + str(self.vidas) + " vidas",bg="black",fg="green").grid(row=5,column=3)
  33. if self.vidas==0:
  34. Label(self.root,text="Game Over",bg="black",fg="green").grid(row=6,column=3)
  35. exit(0)
  36. self.numerox1 = random.randint(0,50)
  37. self.numerox2 = random.randint(0,50)
  38. Label(self.root,text=str(self.numerox1) + "+" + str(self.numerox2),bg="black",fg="green").grid(row=3,column=3)
  39. if __name__ == "__main__":
  40. root = Tk()
  41. vidas = 3
  42. instancia = sumasrapidas(root,vidas)
  43. root.mainloop()
  44.  

Hay algunos fallitos pero bueno, nada importante.
Cuando acabe los exámenes añadiré más niveles y mejoraré la interfaz :).

Un saludo  ;-)
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines