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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 24
1  Programación / Desarrollo Web / Re: [Pregunta]: Lógica para un sistema de seguridad contra ataques de fuerza bruta en el login en: 13 Marzo 2021, 15:44 pm
Buenas! Como dice nsigned, esta muy bien el contador de intentos de login fallidos, pero también, a parte de eso, pondría un Captcha, que lo que haría, es que un robot, no pueda enviar el formulario, porque necesita rellenar un campo cuyo texto que tiene que copiar es un Imagén. Puedes crear el tuyo propio o mediante la API de Google

https://developers.google.com/recaptcha/docs/display
2  Programación / Scripting / Re: Asignar un número a cada valor en python en: 13 Marzo 2021, 01:16 am
Buenas! No conozco mucho este leguaje, pero me parece que no existen los objetos tal cual como en javascript en Python,
Código
  1. {
  2.    1: 'gato',
  3.    2: 'perro',
  4.    3:'otro'
  5. }
  6.  

Pero si existe la posibilidad de hacer arrays bidireccionales, así que, simplemente puedes obtener la longitud del la lista ['gato', 'perro', 'otro'], y hacer un bucle for de cuyo rango de longitud que te dio. Y en cada iteración modificar el elemento del indice actual por un array que contenga el numero en sí y el valor.

Primero obtenemos la longitud de la lista, imaginando que la variable 'lista' contiene el array
Código
  1. lenList=len(lista)
A continuación hacemos un bucle con el rango de la longitud

Código
  1. for i in range(len(lista)):
  2. lista[i] = [i,lista[i]]
  3.  

Y dentro le modificamos el elemento del array cuyo indice es de la iteración actual, no se, sí me explico bien.

Y si hicieramos un echo lista, veriamos que se creo un array bidireccional

Te dejo un ejemplo y su salida:
Código
  1. lista = ["gato","perro","otro"];
  2. def ordenarValores(list):
  3. for i in range(len(lista)):
  4. lista[i] = [i,lista[i]]
  5. print(lista)
  6. ordenarValores(lista)
  7. print(lista[0][1])
  8.  

Salida
Citar
[[0, 'gato'], [1, 'perro'], [2, 'otro']]
gato

Espero que te haya respondido a tu duda y te haya ayudado. Buen dia.
3  Programación / Desarrollo Web / Re: añadir contenido en un archivo JSON externo a traves de JS con fetch() en: 2 Marzo 2021, 15:03 pm
Claro que si, pero en el servidor ha de tener una manera de coger el post y sobre escribir el contenido de la base de datos por el del post:
Front-end:
Código
  1. async function postData(data) {
  2. fetch("/post", {
  3. method: 'POST',
  4. headers: {'Content-Type':'application/x-www-form-urlencoded'},
  5. body: "data=" + JSON.stringify({user: "admin", pass: "admin"})
  6. }).then((res) => data(res.text().then((text) => console.log(text))));
  7. }
  8. document.querySelector("button").addEventListener("click", () => {
  9. postData((data) => console.log(data));
  10. })
  11.  
back-end:
Código
  1. const express = require("express");
  2. const app = express();
  3. const fs = require("fs");
  4. app.use(express.urlencoded())
  5. app.route("/").get((req, res) => {
  6. res.sendFile(__dirname + "/post.html");
  7. })
  8. app.route("/post").post((req, res) => {
  9. let post_data = JSON.parse(req.body.data);
  10. console.log(post_data);
  11. fs.readFile(__dirname + "/bdd.json", (err, data) => {
  12. if(err)throw err;
  13. data = JSON.parse(data);
  14. data[post_data.user] = post_data.pass;
  15. fs.writeFile(__dirname + "/bdd.json", JSON.stringify(data), (err) => {
  16. if(err)throw err;
  17. res.send("Json uploaded")
  18. })
  19. })
  20. })
  21. app.listen(80)
  22.  
No se si es la mejor respuesta sobre la respuesta, espero haberte ayudado! Si tienes algún problema dimelo! Saludos!

Ok, muchas gracias lo miraré.
4  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
5  Programación / Desarrollo Web / Re: equivalente a eval()? | javascript en: 25 Enero 2021, 00:17 am
Muchisimas gracias a los dos! Me a funcionado muy bien.
@XSStringManolo, no cai en que podia hacerlo de esa manera.
6  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
7  Programación / Desarrollo Web / Re: Font zapfino en: 10 Enero 2021, 14:44 pm
Primero de todo debes de descargar la fuente y subirla a una carpeta de tu servidor web, (https://sp.maisfontes.com/download/cc3b189322314b9cd083fdbfd0e9a94e ), después ves a tu css y añades un @font-face

Código
  1. @font-face{
  2.  font-family:"font-custom";
  3.  src:url("path/zapfino.ttf");
  4. }
  5.  
  6. h1{
  7.  font-family:"font-custom";
  8. }
  9.  
8  Sistemas Operativos / GNU/Linux / Re: sin internet en la terminal de comandos en: 5 Enero 2021, 01:40 am
SI tu puedes acceder a internet desde el navegador, y no puedes hacer ping a google.com, puede ser que haya algún firewall entre medio que este bloqueando los paquetes ICMP al servidor/es de google.com

Te has fijado si al hacer ping a otro sitio te da?
9  Programación / Bases de Datos / Re: solicito apoyo en: 31 Diciembre 2020, 15:36 pm
No podemos acceder a tu enlace, acceso denegado.
10  Programación / Desarrollo Web / Re: ¿como modificar un array declarada en un archvio js desde un onclick? en: 13 Diciembre 2020, 17:14 pm
Gracias chicos, entiendo que el inline no se recomienda, pero antes no veía otra forma de hacerlo. Mi archivo js es mucho más grande y complejo, porque la lista de jugadores es dinamico, declaro en un principio el array sin elementos y mientras añado los jugadores añado subarrays al array players.

Lo que he hecho es seleccionar todos los elementos con la clase close-player y con un bucle for hago los listening (no se me ocurrio....)
Código:
        list_ids=document.getElementsByClassName("close-player");
        for(x=0;x<=list_ids.length-1;x++){
            document.getElementById(list_ids[x].id).addEventListener("click",function(){
                players.splice(this.id,1);
                this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
                console.log(players);
            });           
        }

P.D: El document.querySelector() no puede utilizarlo porque me funcionaba la primera vez que añado un jugador pero no los posteriores.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines