Visualizzazione dei risultati da 1 a 2 su 2

Discussione: AP Control

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    9

    AP Control

    Buona sera a tt ragazzi!!
    sto cercando di capire da un pò di giorni il funzionamento di un applet java per creare un sistema simile in php, ma purtroppo nn capisco quasi nnt di java ed eccomi qui a chiedere a specialisti del settore delle info

    codice:
    /*
     Apcontrol.java     Agosto 1.999   Copyright()  N. Betancort
     Applet que contiene un panel para control de acceso a p ginas web
     Applet with a panel for password control of access to a Web page.
    */
    
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import java.util.*;
    import java.net.URL;
    import java.io.*;
    
     //clase  principal  -- main class
    
     public class Apcontrol extends Applet {
    
       static final Color CFONDO = new Color(200,100,120); //color fondo
       private int x = 300;
       private int y = 240;
       int id = 0;              //parametro de idioma (0-spanish / 1- english)
       int contador = 0;        // contador n£mero de intentos --counter
       int ikey = 0;                 //llave encriptado    crypto-key
       boolean encriptado = false;   // centinela encriptado
    
       final static String mensa[][] ={
        { "Introduzca ID de usuario y password\n",
          "Comprobando usuario y password\n", "Usuario localizado\n",
          "password comprobado\n", "password err¢neo, acceso denegado \n",
          "Usuario no localizado\n", "Error en lectura fichero de claves\n",
          "Agotados los 3 intentos\n Applet deshabilitado",
          "Error en apertura fichero de claves\n", "no accesible",
          "Error de acceso a pagina WEB ",
          "Los campos de texto no pueden estar vacios\n",
          "Error en parametro de encriptado\n",
          "13", "14" },
        { "Type your ID and password\n", "Checking user ID and password\n",
          "User localized\n","password OK\n","password incorrect, access  denied\n",
          "User not found\n", "Error reading keys file \n",
          "Over 3 trys Applet disabled","Error opening keys file \n",
          "not accesible \n", "Error loading the web page \n",
          "Unable to process empty fields\n","key Encryption Parameter Error\n",
          "13","14" }
       };
    
       Panel marco;
       Apform formu;
       Cifrado cifra = new Cifrado();       //Instanciar clase para cifrado
       TextArea ta = new TextArea(2,20);
       private Panel ptitu = new Panel();         //Panel para cabecera
       private Label ltitu;
       private String sfile = "lista.txt";      //nombre por defecto-default name
       private String stitu = "Access Control"; //titulo por defecto-default title
       private String webpg = "welcome.html";   //pagina por defecto-default page
       public Dimension getPreferredSize() { return new Dimension(x,y);}
    
       public void  init(){
          setLayout(null);
          setSize(getPreferredSize());
          setBackground(CFONDO);
    
          //Captura de par metros--getting parameters
    
          String sx = getParameter("an");           //dimensiones
          String sy = getParameter("al");
          if (sx != null & sy != null){
               x = (Integer.valueOf(sx)).intValue();
               y = (Integer.valueOf(sy)).intValue();
          }
    
          String idiom = getParameter("idioma");     //Idioma ingl‚s-espa¤ol
          if (idiom != null & idiom.equals("eng")) {id = 1 ;}
    
          try { 
               String skey = getParameter("key");
               ikey = (Integer.valueOf(skey)).intValue();
               if(ikey != 0){
                  this.encriptado = true;
                  boolean retorno = cifra.gencode(ikey);
               }
          }
          catch(Exception e){ ta.setText(mensa[id][12]); } 
    
          String stx = getParameter("title");    //Asignar t¡tulo 
          if ( stx != null)  { stitu = stx; }
          ltitu = new Label(stitu);              //Etiqueta con t¡tulo
    
          String sfx = getParameter("claves");    //Archivo de claves 
          if ( stx != null)  { sfile = sfx; }     //keys file
    
          marco = new Tapiz(x,y, CFONDO);
          marco.setBounds(0,0, x, y);
          add(marco);
          ptitu.setBounds(20,20,x-40,y/8);
          ptitu.setBackground(CFONDO);
          ltitu.setForeground(new Color(10,10,240));
          ltitu.setFont(new Font("Serif",Font.BOLD, 16));
          ptitu.add("Center",ltitu);
          marco.add(ptitu);
          formu = new Apform(this, CFONDO, id);
          marco.add(formu);
          formu.setBounds(20,30+y/8,x-40,3*y/8);
          ta.setEditable(false);
          ta.append(mensa[id][0]);               //modif.
          ta.setBackground(Color.white);
          marco.add(ta);
          ta.setBounds(20, 40+y/2,x-40, y/4);
    
       }
     //..................................................
    
       public void procesar(String us, String pw){
    
          String line;
          String usread, pwread;
          String enus = us;
          String enpw = pw;
          boolean acceso = false;
          StringTokenizer st;
          InputStreamReader ist;
    
          if( encriptado == true ) {           //encriptar usuario y password
                enus = cifra.encript(us, 0);
                enpw = cifra.encript(pw, 0);
          }
    
          try {
             ta.append(mensa[id][1]);  // Comprobando usuario y password
             InputStream is = new URL(getCodeBase(), sfile).openStream();
             ist = new InputStreamReader(is);
             BufferedReader br = new BufferedReader(ist,8000);
    
             try {
              contador++;
              scan:
                while((line = br.readLine())!=null) {
                   st = new StringTokenizer(line);
                   if(st.countTokens()==3){
                      usread = st.nextToken();
                      pwread = st.nextToken();
                      webpg = st.nextToken();
                      if(usread.equals(enus)) {          //comprobar usuario
                         ta.append(mensa[id][2]);        //Usuario localizado 
                         if(pwread.equals(enpw)){        //comprobar password
                              ta.append(mensa[id][3]); //password reconocido 
                              acceso = true;
                              break scan;
                         }
                         else{
                           ta.append(mensa[id][4]); //pasword err¢neo acceso denegado
                           break scan;
                         }
                      }  //fin bucle if comprobar usuario
                   }    //fin if contar tokens
                } //fin while  fin de b£squeda
    
                if (acceso==true) {
                   if( encriptado == true) { webpg = cifra.encript(webpg, 1); }
                   cargar();}
                else{
                  if(contador >= 3) {
                      ta.setText(mensa[id][7]);  //agotados 3 intentos
                      formu.user.setEditable(false);
                      formu.pasw.setEditable(false);
                      formu.reset.setEnabled(false);
                   }
                   else{
                      ta.append(mensa[id][5]);  //usuario no localizado 
                      formu.submit.setEnabled(true);
                   }
                }
            } //fin try interior
    
            catch(Exception e){
              ta.setText(mensa[id][6]);  //error lectura fichero claves
            }
    
            br.close();
            is.close();
         }
         catch(Exception e) {
             ta.setText(mensa[id][8]);  //error apertura fichero de claves
             ta.append(sfile + "  "+mensa[id][9]);   //fichero no accesible
         }
       }
     //.........................................
    
       public void  cargar() {
    
         try{
             URL pp = new URL(getCodeBase(), webpg );
             getAppletContext().showDocument(pp,"f2");
          }
          catch (Exception e){ ta.setText(mensa[id][10]); }
       }
    
     //..................................................
    
         public void start(){ repaint(); }
       
     //..........................................
    
         public static void main(String args[]) {
    
             Apcontrol Nicontrol = new Apcontrol();
             Nicontrol.init();
             Nicontrol.start();
         }
      //.............................................
    
     }  //Fin de clase Apcontrol
    
    //------------------------------------------------------------------------
    
       class Apform extends Panel implements ActionListener{
    
          Apcontrol padre;
    
          int id = 0;
    
          Button submit;
          Button reset;
          TextField  user = new TextField();
          TextField  pasw = new TextField();
          final static String sb[] = {"ENVIAR", "SUBMIT", "BORRAR", "RESET",
                                      "ID Usuario", "User ID" };
    
          public Apform(Apcontrol padre, Color FONDO, int id){   //Constructor
    
              super();
              this.padre = padre;
              this.id = id;
              Label L1 = new Label(sb[4+id]);
              Label L2 = new Label("Password");
              submit = new Button(sb[id]);
              reset = new Button(sb[2+id]);
    
              setLayout(new GridLayout(3,2,5,5));
              setBackground(FONDO);
    
              add(L1);                          //Etiqueta usuario
              add(user);                        //casilla usuario
              add(L2);                          //Etiqueta clave
              pasw.setEchoChar('*');            //ocultar clave
              add(pasw);                        //casilla clave
              submit.addActionListener(this);
              reset.addActionListener(this);
              add(submit);                      
              add(reset);
          }
    
     //.......................................................
    
          public void actionPerformed(ActionEvent ev) {
    
              String suser = null;
              String spasw = null;
              String accion = ev.getActionCommand();
    
              if(accion.equals(sb[2+id])){
                  user.setText("");
                  pasw.setText("");
                  this.repaint();
              }
              else if( accion.equals(sb[id]) ){
                  suser = user.getText();
                  spasw = pasw.getText();
    
                  if(suser.length() != 0 & spasw.length() != 0){
                     submit.setEnabled(false);
                     padre.procesar(suser,spasw);
                  }
                  else{ padre.ta.setText(padre.mensa[id][11]); }
              }
          }
    
       }     //Fin Clase Apform
    
    
      //-------------------------------------------------------------------------
    
       class Tapiz extends Panel {      //panel de fondo para el applet
    
          int an = 260; int al =200;
          static Color cuno = new Color(210,210,210);   //borde uno
          static Color cdos = new Color(100,100,100);   //borde dos
          static Color ctre = new Color(220,100,10);    //fondo tapiz
    
          public Tapiz(int ancho, int alto, Color fondo) {   //Constructor
    
              super();
              this.an = ancho ;
              this.al = alto ;
              this.ctre = fondo;
              setLayout(null);
              setBackground(cuno);   //cuadro grande
              repaint();
          }
    
          public void paint(Graphics g){
           
              g.setColor(ctre);
              g.fillRect(3,3, an-5, al-5);
              g.setColor(cdos);
              for(int i=0; i<3; i++){     //rebordes de 5 pixels de ancho
                 g.drawLine(an-i, i, an-i, al-i);       //vert. dch.
                 g.drawLine(i, al-i, an-i, al-i);       //hor. baja
              }
          }  
    
       }    //fin de clase
    
     //------------------------------------------------------------------------
                              //Fin c¢digo applet
     //.........................*************************.............................
    grz in anticipo per l'aiuto raga

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    9
    up

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.