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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7 8 9 10
1  Programación / Desarrollo Web / añadir contenido en un archivo JSON externo a traves de JS con fetch() en: 28 Febrero 2021, 21:09 pm
Buenas, quisiera añadir un objecto a un JSON externo con javascript, esto es posible con el fetch() de JS o XMLHttpRequest?

Es decir, yo tengo un JSON en /jon/users.json (inicialmente esta vacio)
Código
  1. [
  2. ]
  3.  

Y en mi javascript genero un objecto que lo guardo en una variable, por ejemplo
Código
  1. let data = {
  2.  "nick": "Drakaris",
  3.  "password": "d404559f602eab6fd602ac7680dacbfaadd13630335e951f097af3900e9de176b6db28512f2e000b9d04fba5133e8b1c6e8df59db3a8ab9d60be4b97cc9e81db",
  4.  "pleasures": [
  5.    "romantic"
  6.  ],
  7.  "dateOfBirth": "2021-02-09",
  8.  "gender": "female"
  9. }
  10.  
y este lo quiero guardar en el JSON /json/users.json

Para ello, según tengo entendido se puede hacer con el fetch() metodo POST?

Algo así
Código:
            let data = getDataForm() //obtengo el objeto generado dinamicamente
            fetch("json/users.json",{
                method: "POST",
                body: JSON.stringify(data),
                headers:{
                    "Content-type":"application/json"
                }
            }).then((result)=>result.json())
            .then(dat=>console.log(dat))
            .catch(err=>console.log(err));

Esto me devuelve una array vacio y cuando voy al archivo JSON no me a implementado nada.

Se puede hacer lo quiero hacer?
https://drive.google.com/drive/folders/1BiDcjrPZ3-8qtq9B7ps-dSIu6-neaqY-?usp=sharing

Gracias de antemano
2  Programación / Desarrollo Web / equivalente a eval()? | javascript en: 24 Enero 2021, 14:21 pm
Buenas, tengo un script hecho, que utiliza mucho la funcion eval(), pero no es nada recomendable, en estos casos. Como podría reemplazarlo?

trabajar con arrays/objetos, en este caso añadir:
Código
  1. eval("$HERO." + group + ".push('" + item.id.replace("Check","") + "')")
  2.  

eliminar objetos
Código
  1. eval("delete $HERO." + item[0]);
  2.  

operaciones
Código
  1. eval("$HERO.skills." + skill + "" + operator + "=" + countSkill);
  2.  

Código
  1. eval("$ELEMENTSPOINTS." + type + "." + element);
  2.  
En este caso quiero mostrar en el objeto $ELEMENTSPOINTS el elemento de su tipo, se que se puede hacerse así:
Código
  1. $ELEMENTSPOINTS[type];
  2.  
pero es solo para mostrar el subobjecto ELEMENTSPOINTS con todas sus propiedades, pero no el valor de uno en concreto.


Utilizo tanto el eval(), porque es dinamico, todos los eval estan dentro de una funcion que contiene parametros, cuyos parametros los utilizo en el eval(). Como lo hago sin utilizarlo?


Los objetos, son los siguientes:
Código
  1. $HERO={
  2.    name:null,
  3.    magic:[],
  4.    weapons:[],
  5.    gems:[],
  6.    skills:{
  7.        attack:0,
  8.        defenser:0,
  9.        speed:0
  10.    }
  11. }
  12. const $ELEMENTSPOINTS={
  13.    magic:{ // +
  14.        lightning:{
  15.            attack:10
  16.        },
  17.        ice:{
  18.            attack:4,
  19.            defenser:3
  20.        },
  21.        fire:{
  22.            attack:8
  23.        },
  24.        wind:{
  25.            defenser:2
  26.        }
  27.    },
  28.    weapons:{
  29.        sword:{
  30.            attack:5,
  31.            speed:1 // the speed substraction in the operation
  32.        },
  33.        shield:{
  34.            defenser:10,
  35.            speed:5
  36.        },
  37.        hatchet:{
  38.            attack:10,
  39.            speed:4
  40.        },
  41.        crossbow:{
  42.            attack:7,
  43.            speed:3
  44.        }
  45.    },
  46.    gems:{ // +
  47.        diamond:{
  48.            lightning:2,
  49.            ice:3,
  50.            fire:5,
  51.            wind:4
  52.        },
  53.        esmerald:{
  54.            lightning:2,
  55.            ice:3,
  56.            fire:5,
  57.            wind:4
  58.        },
  59.        ruby:{
  60.            lightning:3,
  61.            ice:2,
  62.            fire:3,
  63.            wind:2
  64.        },
  65.        sapphire:{
  66.            lightning:2,
  67.            ice:2,
  68.            fire:3,
  69.            wind:4
  70.        }
  71.    }
  72. }
  73.  

Un ejemplo de cuando utilizo eval:
Código
  1. ActionSkills = (type,element,operator)=>{
  2.        if(type != "gems"){
  3.            /*
  4.                 The buttons' group aren't gems, so all skills' type got by the specificed element's sub-objects are iterated, and each iteration
  5.                 gets skill's number and if the skill's type is 'speed' and operator is '+' the operator is become to '-'
  6.                 (because the speed substraction of speed's total count), else if the operator is '-', it is became in '+' (because the button is inactive).
  7.  
  8.                 Finally is add/substraction the value get with the skill's total specificed. Thanks to eval()
  9.  
  10.                 Also, if the button's group clicked is 'magic', apart from does previous it, this runs the function ActionGems()
  11.             */
  12.            for(skill in eval("$ELEMENTSPOINTS." + type + "." + element)){
  13.                countSkill = eval("$ELEMENTSPOINTS." + type + "." + element + "." + skill);
  14.                //console.log(skill + ":" + countSkill);
  15.                (skill == "speed" && operator == " + ")?(operator = "-"):(skill == "speed" && operator == "-")?(operator = " + "):null;
  16.                eval("$HERO.skills." + skill + "" + operator + "=" + countSkill);
  17.            }
  18.  
  19.            (type == "magic")?ActionGems(type,element,operator):null;
  20.        }else{
  21.            /*
  22.                 As are gems, the operation is different. So this executes the function ActionGems()
  23.             */
  24.            ActionGems(type,element,operator);
  25.        }
  26.    }
  27.  

Gracias de antemano
3  Programación / Desarrollo Web / ¿como modificar un array declarada en un archvio js desde un onclick? en: 13 Diciembre 2020, 11:54 am
Buenas, estoy haciendo un registro de jugadores, de manera dinamica, que cuando rellenas un formulario, se guarda en un array los datos y posteriormente se añade a una lista HTML un item con el jugador.
img: https://drive.google.com/file/d/1hOvYRr46p17064tz_1pf9hkF8Lw764Rr/view?usp=sharing

Cuando pasas por el item del jugador, puedes eliminar el usuario, lo hice con un evento onclick, pero mi problema esta que el onclick debe acceder al array definida en el archivo js para poder eliminar el subarray del jugador.

IMPORTANTE: los subarrays se añaden dinamicamente durante el envio del formulario.
file js:
Código
  1. var players=[
  2.    ["player1"],
  3.    ["player2"],
  4. ];
  5.  

HTML:
Código
  1. <html>
  2.    <head>
  3.         <script src='file.js'></script>
  4.    </head>
  5.                        <i class="fas fa-times-circle close-player" onclick="
  6.                            players.splice(this.parentNode.id,1);
  7.                            this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
  8.                            console.log(players);
  9.                        "></i>
  10. </html>
  11.  

El problema esta en que me sale como si players no estuviera definido.
Citar
Uncaught ReferenceError: players is not defined

Como lo puedo resolver con onclick?

Gracias
4  Sistemas Operativos / GNU/Linux / vsftpd permite conexion FTPS y FTP a la vez? en: 25 Octubre 2020, 13:12 pm
Buenas, tengo instalado el libreoffice 6.1.5.2 en un Debian 10. Me gustaria poder guardar mis archivos a mi servidor FTP. Pero el problema esta en que mi servidor FTP va por SSL, el protocolo es FTPS,  y libreoffice no te permite el FTP/SSL

El servicio que corro es el vsftpd, hay alguna forma de que ftps no sea obligatorio. Es decir yo tengo configurado con SSL. Y cuando esta con SSL no puedo acceder a http://ftp://midominio.com:3500, pero cuando no esta activado el SSL no puedo acceder a http://ftps://midominio.com:3500 pero si a http://ftp://midominio.com:3500.

Puede haber alguna manera, de que accediendo o http://ftps://midominio.com:3500  o http://ftp://midominio.com:3500?
Código:
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=YES

Gracias

P.D: Al publicar el tema me añade un http:// delante de ftp:// o ftps:// automaticamente.
5  Informática / Software / conexion FTPS en Libreoffice? en: 24 Octubre 2020, 13:49 pm
Buenas, tengo instalado el libreoffice 6.1.5.2 en un Debian 10. Me gustaria poder guardar mis archivos a mi servidor FTP, para ello libreoffice te lo permite, voy a File > Save remote.... Pero el problema esta en que mi servidor FTP va por SSL, el protocolo es FTPS, en Libreoffice como puedo activar el FTPS....?

El servicio que corro es el vsftpd, hay alguna forma de que ftps no sea obligatorio. Es decir yo tengo configurado con SSL. Y cuando esta con SSL no puedo acceder a http://ftp://midominio.com:3500, pero cuando no esta activado el SSL no puedo acceder a http://ftps://midominio.com:3500 pero si a http://ftp://midominio.com:3500.

Puede haber alguna manera, de que accediendo o http://ftps://midominio.com:3500  o http://ftp://midominio.com:3500?

Gracias

P.D: Al publicar el tema me añade un http:// delante de ftp:// o ftps:// automaticamente.
6  Informática / Hardware / Que es una llamada trap en el nucleo? en: 16 Octubre 2020, 22:54 pm
Buenas.
El sistema operativo tiene tres mecanimos para acceder al nucleo: interrupciones, excepciones y traps.

http://www.tugurium.com/gti/termino.php?Tr=trap
Según el Glosario de Terminología Informática (GTI) un trap es:
Citar
Operación de bifurcación realizada automáticamente ante la detección de una condición de error.[...] automaticamente asumen el control para analizar e intentar corregir la situación de error.

En la frase:
Citar
Operación de bifurcación realizada automáticamente ante la detección de una condición de error.

Que quiere decir que, cuando detecta un error en alguna instruccion, intenta repararlo? Es decir, menos "avisar" al S.O para que este avise al usuario. Lo que hace es repararlo si puede, y hace como si no hubiese ese error?

Gracias
7  Sistemas Operativos / GNU/Linux / Mi servidor le envia un IP privada cuando me conecto desde la WAN | VSFTPD en: 4 Octubre 2020, 18:00 pm
Buenas, estoy configurando mi servidor FTP y me he dado cuenta que al conectarme desde la WAN con el cliente Filezilla, me da el siguiente error:
Citar
Server sent pasive reply with unroutable address. Using server address instead.

El problema esta que cuando me conecto port FTPS le pide al server la dirección, y este le dá un IP interna. Me conecto, pero no me lista los archivos.

Yo tebgo configurado en mi vsftpd.conf ssl:
Código:
listen=NO
listen_port=3500
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=300
data_connection_timeout=120
ftpd_banner=FTP server
chroot_local_user=YES
chroot_list_enable=YES
allow_writeable_chroot=YES
chroot_list_file=/etc/users_vsftpd.deny
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=YES
#utf8_filesystem=YES
###########################
#       PASSIVE MODE                #
###########################
pasv_enable=YES
pasv_addr_resolve=YES
pasv_address=xxxxxxxxxx.xxx

Le añadí lo siguiente para que de un IP externa, pero sigue sin listar los directorios.

Se puede hacer de alguna manera con iptables? O como se puede solucionar? Gracias
8  Programación / Scripting / Saber si el script se ejecuto como administrador [Windows] | Python3 en: 21 Septiembre 2020, 20:34 pm
Buenas, estoy haciendo un script de instalación con python y quiero obligar al usuario a que lo ejecute como administrador. Eso en entorno GNU/Linux, se hace con la funcion os.geteuid().
Código
  1. import os, sys
  2. if os.geteuid() != 0:
  3.   print("Needs root privileges")
  4.   sys.exit()
  5. #code
  6.  
pero como se puede hacer con Windows?

Hay alguna manera de obtener los datos del usuario actual? por que se puede obtener el nombre del usuario con el que estoy corriendo el script.

Gracias de antemano
9  Programación / Scripting / llamar modulo dentro de una clase | Python3 en: 12 Septiembre 2020, 19:49 pm
Buenas. Tengo un problema....

Tengo una clase, donde cuya clase estoy llamando a la funcion OS_system(), importado del paquete ' init'
Código
  1. from init import *
  2. class notification:
  3.       # [CODE]
  4. def popup(self, title, type_title, content_text, type_image, Image=Image):
  5. try:
  6. main = Tk()
  7. ico = Image.open(OS_system().path_tkinter("SockServices.png"))
  8.                        # [...]
  9.  

init modulo:
Código
  1. class OS_system:
  2. def __init__(self):
  3. self.system = platform.system()
  4.        # [...]
  5. def path_tkinter(self,image):
  6. if self.system == "Linux":
  7. return "/etc/SockServices/mods/popup/images/"+str(image)
  8. elif self.system == "Windows":
  9. return "C:\Program Files\SockServices\mods\popup\images\\"+str(image)
  10.  
El problema es que me da el error
Citar
NameError: name 'OS_system' is not defined

El problema es que la clase OS_system del modulo init no es importada dentro de la clase notification. Como lo hago?[/code]
10  Programación / Scripting / Como muestro los servicios que estan corriendo en el sistema (Win/Lin)? | Python en: 18 Agosto 2020, 20:40 pm
Buenas, estoy haciendo un script python que será un servicio ejecutandose en segundo plano y necesito mostrar los servicios del sistema. Si hay una funcion o dependencia en python que permita mostrar los servicios mejor, ya que el servicio se ejecutaria, tanto en sistemas Linux como Windows.

Eso se puede hacer con Python?
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