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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 [2] 3 4
11  Comunicaciones / Redes / Re: Duda con telnet en: 27 Abril 2012, 19:17 pm
Emmm No.
Son dos peticiones a dos servidores completamente distintos.
12  Comunicaciones / Redes / Re: Manual y presentación Wireshark en: 27 Abril 2012, 19:14 pm
Mis felicitaciones, te has hecho un pedazo de manual, no lo dudes.

Muchas gracias!
13  Programación / PHP / Re: [POO]Sistema de usuario y privilegios en: 27 Abril 2012, 18:50 pm
Pues resulta que me estoy pasando de PHP estructurado a PHP POO y por ahora todo perfecto, el listado me funciona perfectamente, pero ha llegado el momento de crear el sistema de usuario y controlar los privilegios del usuario en el listado y la verdad es que no tengo mucha idea de como implementarlo.. echarme una mano por favor.

SALUDOS ALEX.

Lo primero tienes que hacer un diseño de lo que tu sistema de usuarios va a contener.
Es decir tipos de usuarios, sus diferencias, privilegios y demás.
Una vez tengas claro eso una forma de hacerlo es crear una clase abstracta usuario que tenga toda la información que forma a un usuario (tipico: nombre, pass, privilegios y cosas asi).
Cada tipo de usuario (Ej: Administrador) hereda de esta clase e inicializa correctamente sus atributos.

La clase Usuario debe tener métodos para generar la sesión y encargarse de la persistencia en la BBDD (la verdad es que esto estaría mejor con un diseño MVC pero así da el pego)

Al principio de cada pagina (o de cada controlador si usas MVC) deberías comprobar si el usuario cumple los requisitos indicados para ver la página en cuestión. Eso si lo estas haciendo sin ningún framework lo podrías hacer incluyendo en cada pagina al principio el mismo modulo que cumple esta función.

Este módulo tendría que tener una función de este estilo.

En pseudo-código:
Código:
func redireccionaSiNoEs(tipoDeUsuarioNecesario):
    usuario = obtenerUsuarioEnSesion();
    si usuario == null:
        redireccionaALogin();
    si no:
        si usuario noEsInstanciaDe tipoDeUsuarioNecesario:
            redireccionaALogin();

Hay que tener en cuenta que la seguridad de esto no es muy buena que se diga. Pero la idea es la misma añadiendo más cosas (comprobar la correlación con la BBDD por ejemplo).

El aspecto que tienes que aprovechar es el polimorfismo, para ti todo tienen que ser Usuarios de una manera genérica a excepción de cuando los creas.

El problema que se plantea es la persistencia en la BBDD, no es común guardar un objeto así a capón serializado en una BBDD, (por lo menos no en esto), por eso deberías hacer una clase gestor de Usuarios que se encargue de con un nombre de usuario darte el objeto instanciado con los datos de la BBDD (ed: en la BBDD tiene que haber un campo tipo de usuario como supongo que tendrías).
Esa misma clase podría encargarse de dado un usuario guardarlo en la BBDD (así le quitamos responsabilidades a Usuario que se va pareciendo más a un modelo)

Bueno lo mismo me estoy extendiendo mucho, y no quiero que me hagas un tl;dr. Así que si con esto tienes más o menos una idea de como plantearlo, me alegro de haberte ayudado, si no, puedes preguntar más.

Un saludo!
14  Programación / Java / Re: La clase BufferedImage en: 27 Abril 2012, 13:02 pm
La verdad no se si esto es una paja mental muy grande pero podrías intentar partir de esta idea a ver que sale:

Código
  1. BufferedImage buffer = robot.createScreenCapture(rectangulo);
  2.  
  3. try {
  4. out = new GZIPOutputStream(socket.getOutputStream());
  5. ImageIO.write(buffer, "jpg", out);
  6. } catch (IOException e1) {
  7. e1.printStackTrace();
  8. }finally{
  9. if(out != null)
  10. out.close();
  11. }
  12.  

La intención esta clara, es usar un flujo de salida comprimido desde el emisor y descomprimir en el receptor con un GZIPInputStream.

A mi me parece que algo así tendría que funcionar, no se si ves que no coméntanos a ver cual es el problema y que más podemos hacer. Ya te digo que es lo primero que se me ha ocurrido  :D
15  Programación / Java / Re: ArrayList en: 27 Abril 2012, 12:24 pm
Por otra parte quería hacer una pregunta haber si me podéis ayudar:

Tengo que implementar otra clase. ¿Cual es la estructura del método para relacionar la clase con las otras dos?

Te refieres a herencia e implementación de interfaces??

si quieres que una clase herede de otra se hace así:

Código
  1. class Hijo extends Padre{
  2. }
  3.  

Java no tiene herencia múltiple como C++.

Para obtener un resultado parecido al de la herencia múltiple en Java se hace mediante la implementación de una o más interfaces:

Código
  1. class Hijo implements I1, I2...{
  2. }
  3.  

Explica un poco más la pregunta para ver a que te refieres.
16  Programación / Java / Re: dudas con uml a la hora de programar en java en: 26 Abril 2012, 14:23 pm
bueno mi duda es sobre uml estoy aprendiendo a programar con interfaces y relativo a herencia pero con diagramas sale una linea y al final estilo diamante concatenadas las dos son clases una de ellas derivadas con dos interfaces

la pregunta es herencia en esas dos ultimas que digo se usa?????
no se si sera pregunta tonta pero es mi duda por favor ayudenme gracias por su atencion esperare


Dedícate a leer lo que has puesto a ver si lo entiendes tu.
Y lo siento por ser tan duro pero, aprende a hablar y a usar signos de puntuación, y luego ya si eso preguntas. Porque no creo que nadie en el foro se este enterando de la pregunta.
17  Programación / Java / Re: Como cambiar el colo de un JButton al presionarlo en: 26 Abril 2012, 14:15 pm
No me voy a meter con tu estilo de programación (aunque sea evidentemente nulo), pero por lo menos por lo menos si vas a subir código ponlo en eclipse selecciona todo y dale a Ctrl+Mayus+f.

Y después de esto el actionPerformed que tu quieres implementar es este:

Código
  1.  
  2. public void actionPerformed(ActionEvent e) {
  3. JButton botonPulsado = (JButton) e.getSource();
  4. botonPulsado.setBackground(Color.yellow);
  5. botonPulsado.setEnabled(false);
  6.  
  7. }
  8.  

PD: Para que quede así de bonito en vez de la etiqueta code, por favor usad code=java
18  Programación / Java / Re: La clase BufferedImage en: 26 Abril 2012, 13:57 pm
Si a lo que te refieres es que no te renta guardarlos en disco para luego mandarlo, lo veo normal xD, y ahora mismo no se decirte así como se programaría exactamente, me tendría que poner a programar, pero la idea supongo que seria algo así como decirle al ImageWriter que su Output es el mismo que el del socket.

Ya te digo que no estoy muy seguro de que sea exactamente así, habría que profundizar la idea en el API, si no es mucho código y quieres subirlo para que le echemos un vistazo lo haré encantado.

Un saludo!!
19  Programación / Java / Re: La clase BufferedImage en: 24 Abril 2012, 23:18 pm
Aquí te lo explican, y no es por trolear :rolleyes: pero Google no muerde.

http://www.universalwebservices.net/web-programming-resources/java/adjust-jpeg-image-compression-quality-when-saving-images-in-java
20  Programación / Java / Re: [Aporte] Peso en diferentes Planetas en: 24 Abril 2012, 23:13 pm
Esta bien pero ya que estamos programando en Java que no es un lenguaje al que le falten recursos podemos hacer algo mucho más molón en este tema. Algo como esto:
Código
  1. public enum Planeta {
  2.    MERCURIO (3.303e+23, 2.4397e6),
  3.    VENUS   (4.869e+24, 6.0518e6),
  4.    TIERRA   (5.976e+24, 6.37814e6),
  5.    MARTE    (6.421e+23, 3.3972e6),
  6.    JUPITER (1.9e+27,   7.1492e7),
  7.    SATURNO  (5.688e+26, 6.0268e7),
  8.    URANO  (8.686e+25, 2.5559e7),
  9.    NEPTUNO (1.024e+26, 2.4746e7);
  10.  
  11.    private final double masa;   // en kilogramos
  12.    private final double radio; // en metros
  13.    Planeta(double masa, double radio) {
  14.        this.masa = masa;
  15.        this.radio = radio;
  16.    }
  17.    private double masa() { return masa; }
  18.    private double radio() { return radio; }
  19.  
  20.    // Constante de Gravitación Universal  (m3 kg-1 s-2)
  21.    public static final double G = 6.67300E-11;
  22.  
  23.    double gravedad() {
  24.        return G * masa/ (radio* radio);
  25.    }
  26.    double pesoEnSuperficie(double masaObjeto) {
  27.        return masaObjeto * gravedad();
  28.    }
  29.    public static void main(String[] args) {
  30.        if (args.length != 1) {
  31.            System.err.println("Usage: java Planeta <peso_terrestre>");
  32.            System.exit(-1);
  33.        }
  34.        double pesoTerrestre = Double.parseDouble(args[0]);
  35.        double masa = pesoTerrestre / TIERRA.gravedad();
  36.        for (Planeta p : Planeta.values())
  37.           System.out.printf("Tu peso en %s es de %f%n",
  38.                             p, p.pesoEnSuperficie(masa));
  39.    }
  40. }
  41.  

(Traducción textual de http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html)

Aunque sea una característica del lenguaje bastante avanzada si lo miras bien se entiende y estoy seguro de que te enamoraras de su potencia xD
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines